我需要从头开始写这个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