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

使用Promise.all([a(),b()]).then(c())无法保证a()和b()中的

使用Promise.all([a(),b()]).then(c())无法保证a()和b()中的

HUX布斯 2019-02-14 15:11:41
异步获取两个数据,并在执行完后更新前台渲染,但现在数据还没获取到最后的函数已经执行,代码如下function a(e) {    if (e) {        $.ajax({            url: '../../a.ashx',            data: { },            type: 'get',            success: function (data) {                console.log(a);            }        })    } else {    }}function b(e) {    if (e) {        $.ajax({            url: '../../b.ashx',            data: {},            type: 'get',            success: function (data) {                console.log(b);            }        })    } else {    }}function c(){    console.log(1);}Promise.all([GetTimes(), GetPackage()]).then(c());执行结果类似这样:1ab求解。
查看完整描述

1 回答

?
蓝山帝景

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

function a() {

    return new Promise(res,rej){

        if(e) {

            $.ajax({

                url: '../../a.ashx',

                data: { },

                type: 'get',

                success: function (data) {

                    res(data)

                }

            })

        }

    }

}


function b() {

    return new Promise(res,rej){

        if(e) {

            $.ajax({

                url: '../../b.ashx',

                data: { },

                type: 'get',

                success: function (data) {

                    res(data)

                }

            })

        }

    }

}

function c(){

    console.log(1);

}

Promise.all([a(), b()]).then(c());


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

添加回答

举报

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