非同期並列リクエストに続いてビューを部分的にレンダリングする適切な方法は何ですか?
現在、私は次のことを行っています
// an example using an object instead of an array
async.parallel({
one: function(callback){
setTimeout(function(){
callback(null, 1);
// can I partially merge the results and render here?
}, 200);
},
two: function(callback){
setTimeout(function(){
callback(null, 2);
// can I partially merge the results and render here?
}, 100);
}
},
function(err, results) {
// results is now equals to: {one: 1, two: 2}
// merge the results and render a view
res.render('mypage.ejs', { title: 'Results'});
});
基本的には正常に動作していfunction1, function2, ..., functionN
ますが、ビューがあれば、最も遅い関数が完了したときにのみレンダリングされます。
ユーザーの遅延を最小限に抑えるために、最初の関数が返されたらすぐにビューをレンダリングし、関数の結果が利用可能になり次第追加できる適切な方法を見つけたいと思います。