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

网站设计与规划作业多说与网站账号绑定

网站设计与规划作业,多说与网站账号绑定,wordpress 图片分享主题,北京十大代理记账公司Promise.all 是一个非常有用的工具#xff0c;它接受一个 Promise 对象数组#xff0c;并返回一个新的 Promise。当所有输入的 Promise 都成功解决时#xff0c;新的 Promise 会解决为一个包含所有结果的数组#xff1b;如果任何一个 Promise 被拒绝#xff0c;新的 Prom…Promise.all 是一个非常有用的工具它接受一个 Promise 对象数组并返回一个新的 Promise。当所有输入的 Promise 都成功解决时新的 Promise 会解决为一个包含所有结果的数组如果任何一个 Promise 被拒绝新的 Promise 会立即被拒绝并返回第一个被拒绝的错误。 function myPromiseAll(promiseArray) {return new Promise((resolve, reject) {//1.参数检查//检查传入的参数是否为数组如果不是数组则抛出 TypeError。if (!Array.isArray(promiseArray)) {return reject(new TypeError(arguments must be an array))}//2.初始化//创建一个 results 数组来存储每个 Promise 的结果。//初始化 count 计数器用于记录已经完成的 Promise 数量。//获取 promises 数组的总长度 len。let result []let count 0const len promiseArray.length//3.特殊情况处理//如果 promises 数组为空直接返回一个已解决的 Promise其结果为一个空数组。if (len 0) {resolve(result)}//4.遍历 Promise 数组//使用 for循环 遍历 promises 数组。//对每个 Promise 使用 Promise.resolve 确保它是 Promise 对象。//使用 then 方法处理每个 Promise 的成功和失败情况//成功时将结果存储在 results 数组中并增加 count。//如果 count 达到 len说明所有 Promise 都已成功解决调用 resolve 方法传递 results 数组。//失败时立即调用 reject 方法传递错误信息。for (let i 0; i len; i) {Promise.resolve(promiseArray[i]).then((res) {result[i] rescountif (count len) {resolve(result)}}).catch((err) reject(err))}})}// 示例代码const promise1 Promise.resolve(1);const promise2 Promise.resolve(2);const promise3 new Promise((resolve) setTimeout(() resolve(3), 1000));const promise4 Promise.reject(Error);myPromiseAll([promise1, promise2, promise3]).then((results) {console.log(All promises resolved:, results); // 输出: All promises resolved: [1, 2, 3]}).catch((error) {console.error(An error occurred:, error);});myPromiseAll([promise1, promise2, promise4]).then((results) {console.log(All promises resolved:, results);}).catch((error) {console.error(An error occurred:, error); // 输出: An error occurred: Error}); Promise.race 接受一个 Promise 对象数组并返回一个新的 Promise。新的 Promise 会在第一个输入的 Promise 被解决或拒绝时立即解决或拒绝其结果或错误信息取决于第一个完成的 Promise。 function myPromiseRace(promiseArray) {return new Promise((resolve, reject) {//1.参数检查//检查传入的参数是否为数组如果不是数组则抛出 TypeError。if (!Array.isArray(promiseArray)) {return reject(new TypeError(arguments must be an array))}//2.遍历 Promise 数组//使用 for 循环遍历 promises 数组。//对每个 Promise 使用 Promise.resolve 确保它是 Promise 对象。//使用 then 方法处理每个 Promise 的成功和失败情况//成功时立即调用 resolve 方法传递结果值。//失败时立即调用 reject 方法传递错误信息。for (let i 0; i promiseArray.length; i) {//写法一Promise.resolve(promiseArray[i]).then((res) {resolve(res)},(error) {reject(error)})//写法二//Promise.resolve(promiseArray[i]).then(resolve, reject)}})}// 示例代码const promise1 Promise.resolve(1);const promise2 new Promise((resolve) setTimeout(() resolve(2), 1000));const promise3 new Promise((resolve) setTimeout(() resolve(3), 500));const promise4 Promise.reject(Error);myPromiseRace([promise1, promise2, promise3]).then((result) {console.log(First resolved promise:, result); // 输出: First resolved promise: 1}).catch((error) {console.error(An error occurred:, error);});myPromiseRace([promise2, promise3, promise4]).then((result) {console.log(First resolved promise:, result);}).catch((error) {console.error(An error occurred:, error); // 输出: An error occurred: Error}); Promise.finally 用于指定不管 Promise 最终状态如何都会执行的操作。这个方法通常用于清理工作比如关闭文件句柄、清除定时器等。 正常使用 promise.then((result) {// 处理已解决的情况}).catch((error) {// 处理已失败的情况}).finally(() {// 不管Promise对象最终的状态如何都会执行的回调函数}); 手动实现 function myPromiseFinally(promise, callback) {return promise.then(//接受两个参数一个 Promise 对象 promise 和一个回调函数 callback。//使用 then 方法分别处理 promise 的成功和失败情况。//在成功的情况下先调用 callback 回调函数然后返回原始的成功值。//在失败的情况下先调用 callback 回调函数然后重新抛出原始的错误。(value) Promise.resolve(callback()).then(() value),(error) Promise.resolve(callback()).then(() {throw error}))}//示例代码 const promise1 Promise.resolve(1); const promise2 new Promise((resolve) setTimeout(() resolve(2), 1000)); const promise3 new Promise((resolve, reject) setTimeout(() reject(Error), 500));// 成功的情况 myPromiseFinally(promise1, () {console.log(Finally block executed); }).then((result) {console.log(Result:, result); // 输出: Result: 1 }).catch((error) {console.error(Error:, error); });// 延迟成功的情况 myPromiseFinally(promise2, () {console.log(Finally block executed); }).then((result) {console.log(Result:, result); // 输出: Result: 2 }).catch((error) {console.error(Error:, error); });// 失败的情况 myPromiseFinally(promise3, () {console.log(Finally block executed); }).then((result) {console.log(Result:, result); }).catch((error) {console.error(Error:, error); // 输出: Error: Error });
http://www.w-s-a.com/news/48279/

相关文章:

  • 网站的文件夹建设企业网站公积金
  • 做网站的的价位网站建设 考试题目
  • 深圳比邻网站建设北京优化服务
  • 菏泽网站建设哪家好电子商务网络安全
  • 仿一个网站广州网站建设正规公司
  • 网站建设 目的seo网站关键词排名快速
  • 什么叫做响应式网站自媒体全平台发布
  • 企业网站 案例哪里需要人做钓鱼网站
  • 厚街东莞网站建设网站开发者调试模式
  • 网站推广营销联系方式wordpress adminlte
  • 哪些网站可以做文字链广告卖水果网站建设的策划书
  • 雕刻业务网站怎么做企业qq官网
  • 新华书店的做的数字阅读网站wordpress编辑器格式
  • jq做6个网站做什么好广西临桂建设局网站
  • 网站新闻图片尺寸南京网站设计公司
  • 重庆seo建站网站服务器 安全
  • 咸宁做网站的公司桂林网站建设兼职
  • 教做网站网站开发行业分析
  • 忻州网站建设培训友情链接交换形式有哪些
  • 佛山做外贸网站渠道外贸常用网站
  • 文章收录网站网站及新媒体建设办法
  • 招聘网站排行榜2021找建网站公司
  • 网站建设制作宝塔面板活动宣传推广的形式有哪些
  • 掉关键词网站敏捷软件开发流程
  • 微信小程序格泰网站建设新闻采编与制作专业简历
  • 电子商城建设网站海伦网站建设
  • 南充能够建设网站的公司有专门做设计的一个网站
  • 免费域名申请个人网站阿里巴巴运营的工作内容
  • 怎么建自己的手机网站保定电子商务网站建设
  • 系部网站建设中期检查表创建网站的公司