ES6异步请求并行操作

// 在ES6中可以将多个Promise.all异步请求并行操作:
// 1、当所有结果成功返回时按照请求顺序返回成功;
// 2、当其中有一个失败方法时,则进入失败方法;
let promiseUtil = (url)=>{
    return new Promise(function (resolve,reject) {
        $.ajax({
            "type": "get",
            "url": url,
            "async": "true",
            "success": function(res) {
                resolve(res);
            },
            "error": function(err){
                reject(err);
            }
        })
    })
    .then( data => data)
    .catch(e => e);
 }
 // 使用Promise.all发送请求
 // 如果中间有一个失败,则进入失败方法
 Promise.all([
     promiseUtil('http://www.baidu.com'),
     promiseUtil('http://www.g.cn'),
 ]).then((data)=>{
     // 执行成功
     console.log('请求成功:');
     let [ data1, data2 ] = data;
     console.log(data1, data2);
 }, (error)=>{
     console.log('请求失败:')
     console.log(error);
 })

你可能感兴趣的:(ES6异步请求并行操作)