tengo esta funcion
const _getCountriesByContinentCode = continent_code => { const someDb = SQLite.openDatabase(db); let foo = []; someDb.transaction(tx => { tx.executeSql("SOME SQL", [], (tx, results) => { for (let i = 0; i < results.rows.length; i++) { foo.push((results.rows.item(i))); } console.log('####', foo) // this logs the result as expected }); }); console.log('****', foo) // this does not log the pushed result, but an empty array } El console.log('####', foo) registra como se esperaba los resultados de foo.push(...) . Sin embargo, console.log('****', foo) registra una matriz vacía.
¿Porqué es eso? ¿Es someDb.transaction(... asynchronus?
De hecho, como sugiere @Bergi en el comentario a continuación, Q: SQL.transaction y SQL.executeSql son asincrónicos.