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

网站建设需要哪些成本域名注册服务网站

网站建设需要哪些成本,域名注册服务网站,软文推广案例,我做的网站怎样被百度收录概述 Promise.all() 和 Promise.race() 都是 JavaScript 中处理多个异步操作的 Promise 方法,但它们的行为和返回结果有所不同。 Promise.all()和Promise.race() 1. Promise.all() Promise.all() 接受一个由多个 Promise 实例组成的可迭代对象(例如数…

概述

Promise.all()Promise.race() 都是 JavaScript 中处理多个异步操作的 Promise 方法,但它们的行为和返回结果有所不同。

Promise.all()和Promise.race()

1. Promise.all()

Promise.all() 接受一个由多个 Promise 实例组成的可迭代对象(例如数组),并返回一个新的 Promise。当所有传入的 Promise 都成功解决时,Promise.all() 返回一个新的 Promise,该 Promise 的结果是所有输入 Promise 的结果组成的数组;如果任何一个输入的 Promise 被拒绝(即 reject),Promise.all() 会立即返回一个拒绝的 Promise,并且拒绝的原因是第一个被拒绝的 Promise 的原因。

[特点]
  • 必须等待所有 Promise 都成功,或者其中一个 Promise 被拒绝,才会返回结果。
  • 如果其中一个 Promise 被拒绝,Promise.all() 会立即返回拒绝的原因,不会继续等待其他 Promise。

示例:

const promise1 = Promise.resolve(3);
const promise2 = new Promise((resolve, reject) => setTimeout(resolve, 100, 'foo'));
const promise3 = Promise.resolve(42);Promise.all([promise1, promise2, promise3]).then((values) => {console.log(values); // [3, "foo", 42]}).catch((error) => {console.log(error); // 如果有一个Promise被拒绝,会进入catch});

如果其中一个 Promise 被拒绝:

const promise1 = Promise.resolve(3);
const promise2 = Promise.reject("Error!");Promise.all([promise1, promise2]).then((values) => {console.log(values);}).catch((error) => {console.log(error); // "Error!"});

2. Promise.race()

Promise.race() 也是接受一个包含多个 Promise 的可迭代对象,并返回一个新的 Promise。不同的是,Promise.race() 只会返回第一个解决或第一个被拒绝的 Promise 的结果。不管其他 Promise 是否已经解决或拒绝,Promise.race() 只关注第一个完成的 Promise。

[特点]
  • 返回的是第一个解决(resolve)或第一个拒绝(reject)的 Promise 的结果。
  • 无论其他 Promise 是否解决或拒绝,Promise.race() 都会立即返回第一个完成的结果。

示例:

const promise1 = new Promise((resolve, reject) => setTimeout(resolve, 500, 'foo'));
const promise2 = new Promise((resolve, reject) => setTimeout(resolve, 100, 'bar'));Promise.race([promise1, promise2]).then((value) => {console.log(value); // "bar" (因为 promise2 先完成)}).catch((error) => {console.log(error);});

如果第一个拒绝的 Promise 被触发:

const promise1 = new Promise((resolve, reject) => setTimeout(resolve, 500, 'foo'));
const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'error'));Promise.race([promise1, promise2]).then((value) => {console.log(value);}).catch((error) => {console.log(error); // "error" (因为 promise2 先拒绝)});

区别总结:

特性Promise.all()Promise.race()
返回值当所有 Promise 成功时返回一个数组,包含所有 Promise 的结果。如果有任何一个 Promise 被拒绝,立即返回拒绝的原因。返回第一个解决或拒绝的 Promise 的结果,忽略其他 Promise 的状态。
成功时的返回所有 Promise 的结果组成一个数组。第一个完成的 Promise 的结果。
失败时的返回如果任何一个 Promise 被拒绝,返回拒绝的原因。第一个被拒绝的 Promise 的拒绝原因。
适用场景需要所有 Promise 完成后才能继续处理。只关心第一个完成的 Promise,不关心其余 Promise。

应用场景

  • Promise.all() 适用于当多个异步任务必须都成功完成后才能继续处理后续操作的情况。例如,加载多个资源(如图片、脚本文件等)并在所有资源加载完成后再显示页面。

  • Promise.race() 适用于当多个异步任务中只关心哪个任务最先完成的情况。例如,网络请求超时处理,或者多个可能的 API 请求,哪一个先返回就用哪个结果。

http://www.yayakq.cn/news/435801/

相关文章:

  • 网站主要功能建一个自己的网站有什么用
  • 网站建设 软件有哪些内容网站后台管理系统制作软件
  • 建站多少钱一个云畅网站建设
  • 北京做企业网站的公司wordpress站点推荐
  • 上海住房与城乡建设部网站阿里巴巴网页版登录入口
  • 网站开发课程培训企业微信开放平台
  • 四网合一网站建设网站安全加固
  • 北京朝阳网站设计做网站怎么赚钱
  • 个人简历免费制作网站顶尖网站建设公司
  • 织梦网站定制wordpress修改评论
  • 翠竹营销网站设计国外网站空间 月付
  • 站长论坛 激活网站展厅设计要考虑哪些方面
  • 网站推广策划案哪里有济南 网站优化
  • 专业平台建设网站关了吗淘宝电商运营
  • 用dw代码做美食网站宁波妇科医生推荐
  • wordpress会员注册seo课程培训中心
  • 网站后台登陆网址是多少一个软件开发流程
  • 静态网站做等级保护内蒙古建设住房与城乡厅官方网站
  • 网站建设好的公司哪家好自己在线制作logo免费u钙网
  • 网站开发培训光山天河网站建设哪家好
  • 东莞长安网站优化公司培训课程有哪些
  • 河口区建设工程招标网站推广优化
  • 用手机做自己的网站wordpress微论坛主题
  • dedecms 网站重复文章网站做推广有用吗
  • 蚌埠做网站的公司哪家好怎么做企业网站
  • wordpress的安装wordpress主题seo
  • 电子商务网站的建设费用网站建设不完整什么意思
  • 门户网站建设自查报告专做商业平台网站
  • 做同城服务网站比较成功的网站长沙网站seo厂家
  • 美术馆网站的建设流程灵当crm客户管理系统