Promise 的用途
Promise 用于避免回调地狱,让代码看起来更同步
如何创建一个 new Promise
function fn(){
return new Promise((resolve, reject)=>{
//成功时调用 resolve(data)
//失败时调用 reject(reason)
})
}
如何使用 Promise.prototype.then
const promise1 = fn() // 得到 promise1 对象
fn().then(success, fail).then(success2, fail2).catch(fail3)
或者
promise1.then(success, fail).then(success2, fail2).catch(fail3)
均可
如何使用 Promise.all
Promise.all([promise1, promise2]) 并行,等待所有 promise 成功。
如果都成功了,则 all 对应的 promise 也成功;如果有一个失败了,则 all 对应的 promise 失败。
如何使用 Promise.race
Promise.race([promise1, promise2]),返回一个 promise,一旦数组中的某个promise解决或拒绝,返回的 promise就会解决或拒绝。