当前位置: 首页 > news >正文

广告网站建设制作设计服务商安卓app软件定制

广告网站建设制作设计服务商,安卓app软件定制,公司网站维护流程,网站制作与网站建设实际报告JavaScript中的 Promise 是用于处理异步操作的对象#xff0c;它代表了一个异步操作的最终完成#xff08;或失败#xff09;及其结果值。Promise 是异步编程的一种更简洁和更可读的方式#xff0c;避免了回调地狱的问题。 Promise 的基本概念 一个 Promise 是一个表示异步…JavaScript中的 Promise 是用于处理异步操作的对象它代表了一个异步操作的最终完成或失败及其结果值。Promise 是异步编程的一种更简洁和更可读的方式避免了回调地狱的问题。 Promise 的基本概念 一个 Promise 是一个表示异步操作最终完成或失败并返回结果的对象。Promise 具有三种状态 Pending待定初始状态表示异步操作尚未完成。 Resolved/Fulfilled已完成操作成功完成返回值。 Rejected已拒绝操作失败返回错误信息。 2. Promise 构造函数 let promise new Promise((resolve, reject) {// 异步操作if (成功) {resolve(结果); // 操作成功返回结果} else {reject(错误信息); // 操作失败返回错误信息} }); resolve(value)改变 Promise 状态为 fulfilled并传递一个值。 reject(error)改变 Promise 状态为 rejected并传递一个错误。 3. Promise 的状态转换 初始状态pending 状态1resolved调用 resolve()。 状态2rejected调用 reject()。 4. Promise 的链式调用 Promise 支持链式调用可以通过 .then()、.catch() 和 .finally() 来处理异步操作的结果。 4.1 then() then() 用于定义成功和失败的回调函数。 promise.then((result) {console.log(成功, result);}).catch((error) {console.error(失败, error);}); then() 接受两个回调函数 第一个回调函数用于处理成功的结果。 第二个回调函数用于处理失败的结果可选。 4.2 catch() catch() 用于捕获并处理异常。通常与 then() 一起使用。 promise.then(result {console.log(result);}).catch(error {console.error(error);}); 4.3 finally() finally() 用于在 Promise 完成无论是成功还是失败后执行清理操作。 promise.then(result {console.log(成功, result);}).catch(error {console.error(失败, error);}).finally(() {console.log(无论成功或失败都执行);}); Promise 的常见静态方法 5.1 Promise.resolve() Promise.resolve() 返回一个已经解决的 Promise其值是传入的参数。 let promise Promise.resolve(42); promise.then(value {console.log(value); // 输出 42 }); 5.3 Promise.all() Promise.all() 接收一个 Promise 数组返回一个新的 Promise当所有的 Promise 都成功时该 Promise 会成功返回一个数组。只要有一个 Promise 失败整个 Promise.all() 就会失败。 Promise.all([promise1, promise2, promise3]).then(results {console.log(results); // 所有 promise 成功时的结果数组}).catch(error {console.error(error); // 如果有一个失败捕获错误}); 5.4 Promise.allSettled() Promise.allSettled() 接收一个 Promise 数组返回一个新的 Promise无论所有的 Promise 是成功还是失败都会在所有 Promise 结束后返回。 Promise.allSettled([promise1, promise2]).then(results {console.log(results); // 输出每个 promise 的状态fulfilled/rejected}); 5.5 Promise.race() Promise.race() 返回一个新的 Promise它会在第一个 Promise 完成无论是成功还是失败时返回。 Promise.race([promise1, promise2]).then(result {console.log(result); // 第一个完成的 promise 的结果}).catch(error {console.error(error); // 第一个失败的 promise 错误}); 5.6 Promise.any() Promise.any() 返回一个新的 Promise它会在第一个成功的 Promise 返回时成功。如果所有的 Promise 都失败返回一个 AggregateError。 Promise.any([promise1, promise2]).then(result {console.log(result); // 第一个成功的 promise 的结果}).catch(error {console.error(error); // 如果所有 promise 都失败捕获错误}); Promise 的手动实现 实现一个基本的 Promise 类 class MyPromise { constructor(executor) { this.state ‘pending’; // 初始状态 this.value undefined; // 成功时的值 this.reason undefined; // 失败时的原因 this.onFulfilled []; // 存储成功的回调 this.onRejected []; // 存储失败的回调 const resolve (value) { if (this.state ‘pending’) { this.state ‘fulfilled’; this.value value; this.onFulfilled.forEach(fn fn(value)); } }; const reject (reason) { if (this.state ‘pending’) { this.state ‘rejected’; this.reason reason; this.onRejected.forEach(fn fn(reason)); } }; executor(resolve, reject); } then(onFulfilled, onRejected) { return new MyPromise((resolve, reject) { if (this.state ‘fulfilled’) { const result onFulfilled(this.value); resolve(result); } else if (this.state ‘rejected’) { const result onRejected(this.reason); reject(result); } else { this.onFulfilled.push(() { const result onFulfilled(this.value); resolve(result); }); this.onRejected.push(() { const result onRejected(this.reason); reject(result); }); } }); } }
http://www.w-s-a.com/news/718335/

相关文章:

  • 公司网站设计与实现中国职业培训在线官方网站
  • 网站服务器空间租用郑州官网网站推广优化
  • 郑州网站建设外包业务wordpress站酷首页
  • 机关门户网站 建设 方案个人怎么申请注册商标
  • 梧州网站建设有哪些九江网站建设优化
  • APP网站建设开发企业发展英文seo招聘
  • 临海市住房和城乡建设规划局网站高校图书馆网站的建设方案
  • 建立门户网站张店易宝网站建设
  • wordpress中英文站点厦门seo顾问屈兴东
  • 邯郸网站建设项目重庆网站备案系统
  • 网站导航容易做黄冈网站建设报价
  • 美橙互联建站网站被截止徐州网站建站
  • 网站班级文化建设视频深圳企业网页设计公司
  • 钦州网站建设公司做宣传网站买什么云服务器
  • 58同城有做网站wordpress怎么改标题和meta
  • 安通建设有限公司网站东莞地铁app
  • 群晖nas做网站滨州教育平台 网站建设
  • 住房城市乡建设部网站装修平台有哪些
  • 小米网站 用什么做的深圳广告公司前十强
  • 勤哲网站开发视频瑞安 网站建设培训
  • 有个蓝色章鱼做标志的网站高端的网站建设怎么做
  • 建站网址导航hao123html网页设计实验总结
  • 西宁市网站建设价格丽水集团网站建设
  • 长宁怎么做网站优化好本机怎么放自己做的网站
  • 诚信网站备案中心网站字体怎么设置
  • 企业网站建设费是无形资产吗佛山网站建设哪个好点
  • 网站建设就业方向国开行网站毕业申请怎么做
  • 创建一个网站的费用wordpress 4.0 安装
  • 会员登录系统网站建设dw软件是做什么用的
  • 手机网站被做跳转长沙网上购物超市