私はこのasyncMap関数を最初から書くのに助けが必要です。私はほとんどそれを持っていると思うが、なぜ私は間違った答えを得続けているのか分からない。ここで私が持っているコードは、これまでのところです:Javascriptでゼロから非同期マップ関数を作成するにはどうすればよいですか?
function wait3For1(callback){
setTimeout(function(){
callback('one')
}, 300)
}
function wait2For5(callback){
setTimeout(function(){
callback('five')
}, 200)
}
function asyncMap(tasks, callback){
return callback(
tasks.map((item) =>
item((element) => element)))
}
asyncMap([wait3For1, wait2For5], function(arr){
console.log(arr) //expect ['one', 'five']
});
私は問題が何であるかわからない私が正しくコールバックwait2For5とwait3For1をやっていないよので、それはだかなり確信しているが、[undefined, undefined]
を得続けます。
ありがとうございます!
これは、コールバックを使うよりもはるかに優れたエラーキャッチを持つ約束のユースケースです – charlietfl
asyncMapは並行して、または順番に物事を行う?言い換えれば、すべての非同期操作が同時に飛行することができるか、またはそれらを次々と実行することを期待していますか? – jfriend00