React Native expo проверка наличия записи в базе данных

я работаю над React Native приложением для считывания QR кодов. У меня подключена база SQLite, в которую записываются все сканы. Мне необходимо проверить QR на повторное считывание.

if (checkDouble(scan)) { // если позиция еще не сканировалась
  // мой код здесь
}else{
 // в случае первого сканирования
}

Сама функция checkDouble:

let checkDouble = (scan) => {
      db.transaction(
      tx => {
        tx.executeSql(
          'SELECT * FROM `scanned` WHERE `scan` = ?', 
          [scan], 
          (_, result) => {
            // console.log(result.rows._array)
            if (result.rows.length) { // если результат = 1, то уже сканировался 
              console.log("QR уже сканировался")
              return true
            }
            console.log("QR еще не сканировался")
            return false
          },
          (_, error) => console.log(error)
      );
      }
    );
  }

Функция checkDouble возвращает undefined, после чего срабатывает один из console.log(), это означает, что никаких ошибок с базой нет, однако функция не дожидается выполнения и выходит. Так, если я поставлю console.log() в самом конце функции checkDouble, это действие выполнится раньше обращения к бд Большое спасибо!


Ответы (0 шт):