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

js同步异步问题,怎么调用带callback函数的时候改成同步

js同步异步问题,怎么调用带callback函数的时候改成同步

杨魅力 2018-12-19 09:19:35
var doExe = function (a , callback) {    setTimeout(function () {        console.log(a)        if(callback) callback    }, 100 * Math.random())}var aTest = function (num) {    for(var i=0 ; i<num ; i++){          doExe(i)    }}aTest(10)不知道有没有记错题目。。。。。。。doExe是带个callback的函数, 现在aTest执行出来的顺序是乱的,要求按顺序输出0123456789doExe不能改, aTest可以随便改。。。。求大神指点,闭包也行,队列+apply也行,实在没搞懂。。。。。
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

var doExe = function (a , callback) {


setTimeout(function () {

    console.log(a)

    if(callback) callback()

}, 100 * Math.random())

}

var i = 0;

var aTest = function () {


if(i < 10) {

    doExe(i, aTest)

    i++;

}

}

aTest()


查看完整回答
反对 回复 2019-01-07
  • 1 回答
  • 0 关注
  • 481 浏览
慕课专栏
更多

添加回答

举报

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