网站在线支付,wordpress文章分类页面,空白网站怎么建立,网站建设入什么科目什么是Promise对象#xff1a;Js中进行异步编程的新的解决方案#xff0c;用于表示一个异步操作的最终完成 (或失败), 及其结果值.。语法上#xff1a;promise是一个构造函数简单来说#xff0c;promise对象用来封装一个异步操作并可以获取其结果语法#xff1a;new Promi…什么是Promise对象Js中进行异步编程的新的解决方案用于表示一个异步操作的最终完成 (或失败), 及其结果值.。语法上promise是一个构造函数简单来说promise对象用来封装一个异步操作并可以获取其结果语法new Promise(function (resolve, reject) {...} /* executor */)复制代码executorexecutor是带有 resolve 和 reject 两个参数的函数 。Promise构造函数执行时立即调用executor 函数 resolve 和 reject 两个函数作为参数传递给executor(executor 函数在Promise构造函数返回所建promise实例对象前被调用)。resolve 和 reject 函数被调用时分别将promise的状态改为fulfilled(完成)或rejected(失败)。executor 内部通常会执行一些异步操作一旦异步操作执行完毕(可能成功/失败)要么调用resolve函数来将promise状态改成fulfilled要么调用reject 函数将promise的状态改为rejected。如果在executor函数中抛出一个错误那么该promise 状态为rejected。executor函数的返回值被忽略。promise 有三种状态Pending(进行中初始状态既不是成功也不是失败状态。)、Resolved(已完成又称 Fulfilled)、Rejected(已失败)这三种状态的变化途径只有2种异步操作从 未完成 pending 已完成 resolved异步操作从 未完成 pending 失败 rejected状态一旦改变就无法再次改变状态这也是它名字 promise-承诺 的由来一个promise对象只能改变一次pending 状态的 Promise 对象可能会变为fulfilled 状态并传递一个值给相应的状态处理方法也可能变为失败状态(rejected)并传递失败信息。当其中任一种情况出现时Promise 对象的 then 方法绑定的处理方法(handlers )就会被调用(then方法包含两个参数onfulfilled 和 onrejected它们都是 Function 类型。当Promise状态为fulfilled时调用 then 的 onfulfilled 方法当Promise状态为rejected时调用 then 的 onrejected 方法 所以在异步操作的完成和绑定处理方法之间不存在竞争)。因为 Promise.prototype.then 和 Promise.prototype.catch 方法返回promise 对象 所以它们可以被链式调用。