2

I want to make sure that the addresses array is being updated but this code prints an empty array. There is only one field in the addresses table, and I want all rows of that field to be in the addresses array.

const sqlite = require('sqlite3')
const Promise = require('bluebird')
let db = new sqlite.Database('./addressBook.db');

let addresses = [];
function extractAddresses(db) {
    addresses = [];
    return new Promise((resolve, reject) => {
        db.all('SELECT * FROM addresses',[],(err,rows)=>{
            if(err){
                console.log(err.message);
                reject(err);
            }
            else
            {  
                rows.forEach((row)=>{
                    addresses.push(row.address);
                });
                resolve(addresses);
            }
        });
    })
}
extractAddresses(db);
console.log(addresses);

0 Answers0