你对 Promise 的了解?

99 阅读1分钟

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就会解决或拒绝。