1

ライブラリを使用しasyncて、制御フローを支援しています。繰り返したいコレクションがあり、要素ごとに1つの非同期タスクを実行し、すべてが完了したらコールバックを呼び出します。

ループを使用することにしましasync.forEachた。各ループで非同期タスクを呼び出しますが、エラーが発生します: callback was already called、しかし、すべてのコールバックが呼び出されたときにのみコールバックを呼び出すべきではありませんか? また、エラーを処理する方法を適切に理解したいとさえ思っていました。あるタスクが失敗し、他のタスクが成功する可能性が非常に高いです。どの要素が失敗するかを知る必要はありませんが、どうすればこれを行うことができますか?

これは私のコードです:

async.forEach(fonts, function(font, callback) {
    ftpm_module.installOsFont(font, callback);
}, function() {
    console.log("finished");
});

編集: 2 つ以上のフォントを渡した場合にのみエラーが発生します。

4

0 に答える 0