在我的 app.js 中,我尝试从 sqlite 数据库中检索数据并将其传递给我的视图之一:
app.get("/dynamic", function(req, res) {
var db = new sqlite3.Database(mainDatabase)
var posts = []
db.serialize(function() {
db.each("SELECT * FROM blog_posts", function(err, row) {
posts.push({title: row.post_title, date: row.post_date, text: row.post_text})
})
})
res.render("dynamic", {title: "Dynamic", posts: posts})
})
有人可以告诉我我在这里做错了什么。无论是什么,posts 数组似乎都是空的。
编辑 我正在关注一个教程,该教程解释了尽管插件具有异步功能,但此方法不是异步的
这是教程中的引用
尽管 Node.js 具有回调和异步特性,但这些事务将连续运行,允许我们创建、插入和查询,因为知道之前的语句将在当前语句之前运行。然而,sqlite3 提供了一个具有相同接口的“并行”包装器,但并行运行所有事务。这一切都取决于你目前的情况。