Promise
构造函数的原型上实现了then
, catch
, finally
方法,也就意味着每个 Promise
实例都拥有这样 3 个函数。
Promise.prototype.then():
then()
方法可以处理 Promise
被接受(onFulfilled)或拒绝(onRejected)的情况。
当 Promise
完成 (fulfilled) 或者失败 (rejected) 时,会异步调用返回函数,返回一个 Promise
对象,不过返回值与 then()
方法中的回调函数是有关系的,可以分很多种情况(不展开);
Promise.prototype.catch():
catch()
方法用来处理 Promise
被拒绝的情况,相当于 then(undefined, onRejected);
Promise.prototype.finally():
finally
方法用来指定在 promise
结束时,无论结果是 fulfilled
或者是 rejected
,都会执行的回调函数。这样可以避免同样的语句需要在 then()
和 catch()
中都要写一次的情况
finally