为了账号安全,请及时绑定邮箱和手机立即绑定

异步函数顺序执行以及数组处理的一个小问题

异步函数顺序执行以及数组处理的一个小问题

胡子哥哥 2019-05-11 09:15:07
题目描述两个异步的函数,要求写一个函数asyncOneByOne(arr)能够顺序执行输入的参数asyncOneByOne([one,two])//输出//first//secondfunctionone(callback){setTimeout(function(){console.log('first');callback&&callback();},200);}functiontwo(callback){setTimeout(function(){console.log('second');callback&&callback();},0);}题目来源及自己的思路一道笔试题,一开始还以为要用到promise什么的,但是one()two()不让更改了然后发现其实只要one(two(one(two)))这样执行就可以(看了回调函数那一章)你期待的结果是什么?实际看到的错误信息又是什么?这样问题就变成了输入一个数组[one,two,one,two],如何变成one(two(one(two)))这样并且执行的问题了,但是这里反而糊掉了,请教各位应该如何处理.
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

                            
查看完整回答
反对 回复 2019-05-11
?
噜噜哒

TA贡献1784条经验 获得超7个赞

functionasyncOneByOne(params){
if(params.length){
params[0](()=>{
asyncOneByOne(params.splice(1));
});
}
}
asyncOneByOne([one,two,one,two,two])
                            
查看完整回答
反对 回复 2019-05-11
  • 2 回答
  • 0 关注
  • 531 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信