私のapp.jsには、sqliteデータベースからデータを取得してビューの1つに渡すために次のものがあります。
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})
})
ここで私が間違っていることを誰かに教えてもらえますか。投稿配列は、何があっても空のままのようです。
編集プラグインには非同期がありますが、このメソッドは非同期ではないことを説明するチュートリアル に従っていました
以下はチュートリアルからの引用です
Node.js のコールバックと非同期の性質にもかかわらず、これらのトランザクションは連続して実行されるため、前のステートメントが現在のステートメントよりも先に実行されることがわかっているため、作成、挿入、クエリを実行できます。ただし、sqlite3 は同じインターフェイスを持つ「並列」ラッパーを提供しますが、すべてのトランザクションを並列で実行します。それはすべてあなたの現在の状況に依存します。