以下はroutes/index.jsからの私のコードのスナップショットです
exports.index = function(req, res){
var results=new Array();
for(var i=0; i<1000;i++){
//do database query or time intensive task here based on i
// add each result to the results array
}
res.render('index', { title: 'Home !' , results:results });
};
このコードを実行すると、JavaScriptの非同期性により、ループが完全に処理される前に最後の行が実行されます。したがって、私のWebページには結果がありません。クエリが完了するとページが読み込まれるようにこれを構成するにはどうすればよいですか?
更新しました
ループ内には、次のようなデータベースコード(Redis)があります-
client.hgetall("game:" +i, function(err, reply) {
results.push(reply.name);
});