理解Promise

112 阅读1分钟

new Promise(function(resolve,reject){})

.then .catch .finally 为某个promise注册回调,当该promise状态变更时,会调用then中注册的onFullfilled, 或者onRejected, 或者调用catch中注册的onRejected,或者调用 finally中的onFinally.

这三个方法都返回一个promise. 而返回的这个promise(promiseA)的状态,取决与回调的返回值。如果回调返回了普通值,该promise状态将会变为fulfilled, 返回值会作为resolved的值。如果回调返回了promise(promiseB)的状态,则promiseA的状态将取决于promiseB的状态,resolved或者rejected的值将取决于promiseB的值。