each()呼び出しに、そのコールバックに結果配列を含めると非常に便利です。
それがasync.map
目的です。
やあ、
実際、マップは@aearlyで説明したとおりに機能します。
コードの読みやすさに関しては、 @ pcman312に同意しますが、eachSeriesにコールバック(エラー、結果)があると便利です。
これにより、callback(err、results)もあるasync.seriesとの整合性が保たれます。
つまり、コレクション内の要素ごとに関数を実行したい場合がありますが、この関数の目的は値を「マップ」することではありません。 (この場合、eachSeriesまたはeachの方が読みやすくなります)。
返される結果に関して、async.seriesと同じように実装することを検討できる可能性はありますか? どうもありがとう !
この機能はすでにmapSeries
100%カバーされているため、これを検討する価値はないと思います。 マッピングするよりも関数の結果を気にする場合
series
とmapSeries
もまったく異なります。これは、 series
が最後のコールバックの結果を提供するのに対し、 mapSeries
は配列内の各コールバックの結果をマッピングするためです。
@megawac
シリーズが最後のコールバックの結果を提供しているので、またかなり異なります
いいえ、 series
も各コールバックの結果をマッピングします。
おっと、私の悪い、それを滝と混ぜていました。 とにかく、私のコメントはまだmapSeries
に関して立っています
いい人に聞こえますが、問題ありません。おそらく構文に慣れる必要があります:-)
あなたの時間とどんな場合でも素晴らしい図書館に感謝します!
each
は、結果を追跡する必要がないため、わずかに高速です。
私は今日これに出くわしました、それは絶対に素晴らしいと思います...あなたがIDを必要としている場合に備えて。
これより簡単なことがあれば教えてください。
async.each(Object.keys(arr), function(index, cb) {
console.log('index: ' + index)
var item = arr[index]
console.log(item)
cb()
}, (err, ret) {
console.log('done')
})
最も参考になるコメント
それが
async.map
目的です。