В настоящее время я пытаюсь использоватьact-native-sqlite-storage в своем приложении React Native. Я очень новичок в React Native и Javascript в целом, но меня перевели на внешний интерфейс, чтобы попытаться перенести использование JSON на стороне клиента в базу данных SQLite на стороне клиента.
После некоторого поиска Переполнения стека, ближайшая вещь, которую я смог найти в своей проблеме, была ( реагировать, не реагировать, родная-память-хранилище не возвращает результат ).
Однако после попытки обратного вызова я все еще получаю неопределенное значение для моего
Вот моя функция обратного вызова:
nextPackage (q_id: number, callback) {
let pack = [];
db.transaction(tx => {
tx.executeSql(
'SELECT * FROM Questions INNER JOIN Choices on Choices.q_id = Questions.global_id WHERE Questions.global_id = ?',
[q_id],
(tx, results) => {
for (let i = 0; i < results.rows.length; i++) {
console.log('row:', results.rows.item(i));
this.pack.push(results.rows.item(i));
}
console.log('packCheck:' + this.pack);
callback(return this.pack);
}, function (tx, error) {
console.log('SELECT error: ' + error.message);
}
);
});
}
И экран, который вызывает это:
this.wrapper = new SurveyController(this.session.data_next.algorithm);
console.log('next qID: ' + this.session.data_next.qID);
this.pack = this.wrapper.nextPackage(this.session.data_next.qID, console.log(this.pack));
Запуск приложения показывает, что this.pack все еще не определен после его запуска.
Приношу свои извинения, если проблема зачаточна, но я был бы признателен за любую помощь.