Promise

作者: Zhou_qn | 来源:发表于2020-04-02 17:37 被阅读0次

参考文章:
Promise|MDN
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise
通俗浅显的理解Promise中的then:
https://www.cnblogs.com/morongwendao/p/9875443.html

Promise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值.
Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)
一个 Promise有以下几种状态:
pending: 初始状态,既不是成功,也不是失败状态。
fulfilled: 意味着操作成功完成。
rejected: 意味着操作失败。

pending 状态的 Promise 对象可能会变为fulfilled 状态并传递一个值给相应的状态处理方法,也可能变为失败状态(rejected)并传递失败信息。当其中任一种情况出现时,Promise 对象的 then 方法绑定的处理方法(handlers )就会被调用(then方法包含两个参数:onFulfilled(如果 onFulfilled 不是函数,其必须被忽略) 和 onRejected,它们都是 Function 类型。当Promise状态为fulfilled时,调用 then 的 onFulfilled 方法,当Promise状态为rejected时,调用 then 的 onRejected 方法, 所以在异步操作的完成和绑定处理方法之间不存在竞争)。

then方法提供一个供自定义的回调函数,若传入非函数,则会忽略当前then方法。
回调函数中会把上一个then中返回的值当做参数值供当前then方法调用。
then方法执行完毕后需要返回一个新的值给下一个then调用(没有返回值默认使用undefined)。
每个then只可能使用前一个then的返回值。

相关文章

网友评论

      本文标题:Promise

      本文链接:https://www.haomeiwen.com/subject/pjgxphtx.html