aync.parallelを使用して、2 つの関数を並行して実行しています。関数は RSS フィードを要求します。次に、RSS フィードが解析され、私の Web ページに追加されます。
しかし、何らかの理由async.parallel
で、2 つの関数が完了するまで待たずにコールバック メソッドを実行します。
タスクが完了すると、結果が最終的なコールバックに配列として渡されます。
私のコード。
require('async').parallel([ function(callback) {
fetchRss(res, bbcOpts); // Needs time to request and parse
callback();
}, function(callback) {
// Very fast.
callback();
} ], function done(err, results) {
if (err) {
throw err;
}
res.end("Done!");
});
実際、「やった!」しかありません。私のウェブページで。なんで?
電話する必要があるのはなぜres.end()
ですか?
Node.JS のドキュメントには次のように書かれています。
メソッド response.end() は、各応答で呼び出されなければなりません。
呼び出さないと、Web ページが「ダウンロード」されます (ブラウザーのアドレス行に進行状況バーが表示されることを意味します)。