我需要從頭開始寫這個asyncMap函數。我想我已經差不多了,但我不確定爲什麼我一直得到錯誤的答案。這裏是我到目前爲止的代碼:如何從頭開始在Javascript中編寫異步Map函數?
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']
});
我不斷收到[undefined, undefined]
我敢肯定那是因爲我沒有做回調wait2For5和wait3For1正確的,但不知道是什麼問題。
在此先感謝!
這是一個完美的承諾使用情況,它比使用回調有更好的錯誤捕獲 – charlietfl
您的asyncMap是否假設平行或按順序做事情?換句話說,所有異步操作可以同時在運行嗎?還是您希望它們能夠一個接一個執行? – jfriend00