ES6 Promise 解决异步嵌套问题

const {log:Log,info:Info,error:Err}=console;//对象方法解析赋值,将console的常用方法赋值简写
function runAsync(url,data){
    var p = new Promise(function(resolve, reject){
        //做一些异步操作
        setTimeout(function(){
            console.log('执行完成');
            resolve({url:url,data:data});
        }, 400);
    });
    return p;
}
Promise.all([runAsync("www.baidu.com",{a:1}),runAsync("www.baidu.com",{a:1})]).then(function (data) {
    Log(data);
});

输出结果将会把两个runAsync的resolve集合到一个数组中

执行完成
执行完成
[ { url: ‘www.baidu.com’, data: { a: 1 } },
{ url: ‘www.baidu.com’, data: { a: 1 } } ]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容