var flag = true;
var message = '我是初始值'
var p = new Promise(function(resolve,reject) {setTimeout(()=>{if (flag) {resolve('异步加载胜利')
// 传递的相当于掉完接口失去的 data
}else {reject('失败')
// 传递的相当于掉接口失败所得的信息
}
},5000)
})
// .then() 办法传递两个参数都是 function, 第二个参数的函数不是必填, 也可写在.catch() 办法里和.then 同级
p.then(function (aaa) {
// 第一个参数用来接管胜利的 data 并进行解决
message=aaa
// console.log(message);
},function (bbb) {
// 第二个参数用来接管失败的信息并进行解决
message = bbb
// console.log(message);
})
// console.log(message);
// .all() 办法同时解决多个异步工作, 所有工作实现能力返回后果
// .race() 办法同时解决多个异步工作, 只有有一个工作实现就能返回后果
function pp(text,time) {return new Promise(function(resolve,reject) {setTimeout(()=>{if (flag) {resolve(text)
// 传递的相当于掉完接口失去的 data
}else {reject('失败')
// 传递的相当于掉接口失败所得的信息
}
},time)
})
}
// pp('我胜利了',3000).then((data)=>{// console.log(data);
// })
Promise.all([pp('111',1000),pp('222',2000),pp('333',3000)]).then((data)=>{console.log(data);
})
Promise.race([pp('111',1000),pp('222',2000),pp('333',3000)]).then((data)=>{console.log(data);
})