如何使用节点sqlite3 each()方法创建结果数组

时间:2018-11-30 01:59:37

标签: node.js express sqlite node-sqlite3

我不明白为什么以下代码没有用数据库表中名为resultArray的行填充voyages。该表中有两行,如果取消注释console.log(row)语句,便可以看到它们。

const express = require ('express')
const app = express()
const sqlite3 = require('sqlite3').verbose()

let db = new sqlite3.Database('shaula.db')

app.get('/',
        function(req, res, next){
                let sql = `SELECT * FROM voyages`
                let resultArray = []
                db.each(sql,
                        function(err, row){
                                resultArray.push(row)
                                // console.log(row)
                        }
                )
                console.log(resultArray)
        }
)

app.listen(3000, () => console.log(`listening on port 3000`))

运行此命令时,控制台仅打印空数组:[]。我很想知道为什么这行不通。

0 个答案:

没有答案