Javascript 使用sqlLite在Nodejs中获取查询块外部的变量

Javascript 使用sqlLite在Nodejs中获取查询块外部的变量,javascript,jquery,node.js,sqlite,Javascript,Jquery,Node.js,Sqlite,我想存储从表到数组(arr)的所有行,我需要在定义的查询部分之外获取存储的数组。是否有一种方法可以获取db.each之外的所有行,以便进一步操作它们 var arr=[]; db.each("SELECT * FROM login", function(err, row) { var title=row.title; var context=row.context; var newItem = { 'user': user, 'pwd':

我想存储从表到数组(arr)的所有行,我需要在定义的查询部分之外获取存储的数组。是否有一种方法可以获取db.each之外的所有行,以便进一步操作它们

var arr=[];
db.each("SELECT * FROM login", function(err, row) {
    var title=row.title;
    var context=row.context;
    var newItem = {
        'user': user,
        'pwd': pwd
    };
    arr.push(newItem);
});     
console.log(arr); //Outputs []

由于
db.each
是一个异步函数,因此需要使用另一个函数作为回调函数,如:

var arr=[];
db.each("SELECT * FROM login", function(err, row) {
    var title=row.title;
    var context=row.context;
    var newItem = {
        'user': user,
        'pwd': pwd
    };
    arr.push(newItem);
}, function(){
  console.log(arr)
});     

参考资料:

承诺的典型案例!我需要从数据库中准备JSON感谢您的快速回复。