6

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 ページが「ダウンロード」されます (ブラウザーのアドレス行に進行状況バーが表示されることを意味します)。

4

2 に答える 2