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

个人网站模板psd合肥网站推广公司哪家好

个人网站模板psd,合肥网站推广公司哪家好,展示网站动画怎么做的,高校门户网站建设建议Promise对象在JavaScript中是一种处理异步操作的方式,它提供了一组方法来管理和控制异步操作的结果。以下是一些常用的Promise方法: 以下是对 constructor(executor)‌、then(onFulfilled, onRejected)、catch(onRejected)‌、 finally(onFin…

Promise对象在JavaScript中是一种处理异步操作的方式,它提供了一组方法来管理和控制异步操作的结果。以下是一些常用的Promise方法:

以下是对 constructor(executor)‌、then(onFulfilled, onRejected)、catch(onRejected)‌、 finally(onFinally)‌、all(iterable)‌、race(iterable)‌、 resolve(value)‌、 reject(reason)‌、allSettled(iterable)‌、any(iterable)‌ 这些方法的讲解

‌constructor(executor)‌:

这是Promise的构造函数,用于创建一个新的Promise实例。executor是一个执行器函数,它接收两个函数作为参数:resolve和rejectresolve在异步操作成功时被调用,将Promise的状态设置为fulfilled;reject在异步操作失败时被调用,将Promise的状态设置为rejected。

const promise = new Promise((resolve, reject) => {setTimeout(() => {resolve('Success!');// 或者在某些情况下调用 reject('Error!');}, 1000);
});promise.then(value => console.log(value)); // 输出: Success!

then(onFulfilled, onRejected)‌:

then方法为Promise对象注册回调函数,处理异步操作成功(fulfilled)或失败(rejected)的情况。它返回一个新的Promise对象,这使得我们可以进行链式调用。
onFulfilled是成功时的回调函数,接收异步操作成功时的结果。
onRejected(可选)是失败时的回调函数,接收异步操作失败时的原因。

const promise = new Promise((resolve, reject) => {setTimeout(() => {resolve('Data loaded');}, 1000);
});promise.then(value => console.log(value), // 成功时的回调error => console.error(error) // 失败时的回调(可选)
);
// 输出: Data loaded

catch(onRejected)‌:

catch方法是.then(null, onRejected)的语法糖,用于捕获Promise链中的错误,并处理它们。它接受一个回调函数作为参数,该函数将在Promise链中的某个地方发生错误时被调用。

const promise = new Promise((resolve, reject) => {setTimeout(() => {reject(new Error('Something went wrong'));}, 1000);
});promise.catch(error => console.error(error.message));
// 输出: Something went wrong

finally(onFinally)‌:

finally方法用于指定不管Promise对象最后状态如何,都会执行的操作。它接受一个回调函数作为参数,该回调函数不接受任何参数。

const promise = new Promise((resolve, reject) => {setTimeout(() => {resolve('Operation completed');}, 1000);
});promise.then(value => console.log(value)).catch(error => console.error(error)).finally(() => console.log('Cleanup operations'));
// 输出: 
// Operation completed
// Cleanup operations

all(iterable)‌:

all方法用于处理多个Promise对象。它接受一个可迭代对象(如数组)作为参数,这个可迭代对象包含多个Promise对象。只有当所有的Promise对象都成功完成时,它才会成功;如果任何一个Promise对象失败,它立即失败并返回第一个失败的错误。

const promise1 = Promise.resolve('First value');
const promise2 = new Promise((resolve) => setTimeout(resolve, 1000, 'Second value'));
const promise3 = Promise.reject('Third value failed');Promise.all([promise1, promise2]).then(values => console.log(values)).catch(error => console.error(error));
// 输出: 
// ['First value', 'Second value']
// (注意:promise3 被排除在外,因为它拒绝了)

race(iterable)‌:

race方法同样用于处理多个Promise对象。它接受一个可迭代对象作为参数。与all方法不同的是,race方法会在输入的Promise对象中的任何一个成功或失败时立即解析或拒绝。

const promise1 = new Promise((resolve) => setTimeout(resolve, 500, 'First'));
const promise2 = new Promise((resolve) => setTimeout(resolve, 100, 'Second'));Promise.race([promise1, promise2]).then(value => console.log(value));
// 输出: Second (时间短100ms)

resolve(value)‌:

resolve方法返回一个以给定值解析后的Promise对象。如果这个值是一个Promise对象,那么resolve方法会返回这个Promise对象;否则,它返回一个以该值为结果的新Promise对象。‌

const promise = Promise.resolve('Already resolved');promise.then(value => console.log(value));
// 输出: Already resolved

reject(reason)‌:

reject方法返回一个以给定原因拒绝的Promise对象。‌

const promise = Promise.reject(new Error('Already rejected'));promise.catch(error => console.error(error.message));
// 输出: Already rejected

allSettled(iterable)‌:

allSettled方法==用于处理多个Promise对象,并返回一个在所有给定的Promise对象都已经完成(不管是fulfilled还是rejected)时解析的新Promise对象。==这个新的Promise对象解析的结果是一个对象数组,每个对象都表示对应的Promise对象的结果。

const promise1 = Promise.resolve('Success!');
const promise2 = Promise.reject('Failure!');Promise.allSettled([promise1, promise2]).then(results => {results.forEach((result) => console.log(result));});
// 输出:
// {status: 'fulfilled', value: 'Success!'}
// {status: 'rejected', reason: 'Failure!'}

any(iterable)‌:

any方法用于处理多个Promise对象,并返回一个在任意一个给定的Promise对象成功完成时解析的新Promise对象。如果所有的Promise对象都失败,它才会失败,并返回第一个失败的错误。

const promise1 = Promise.reject('First failed');
const promise2 = new Promise((resolve) => setTimeout(resolve, 1000, 'Second succeeded'));
const promise3 = Promise.reject('Third failed');Promise.any([promise1, promise2, promise3]).then(value => console.log(value)).catch(error => console.error(error));
// 输出: Second succeeded
http://www.yidumall.com/news/97654.html

相关文章:

  • 深圳品牌设计公司介绍优化大师windows
  • 请问在重庆从事网站建设工作的人每天都要做些什么网站优化方案设计
  • 电子商务网站的设计厦门seo网站优化
  • 中国公路建设在哪个网站公示如何进行网络营销推广
  • 绿色环保企业网站模板东莞网站制作十年乐云seo
  • 英语网站都可以做哪些内容国内的搜索引擎排名
  • html 社区网站 模板网络营销属于哪个专业
  • 石家庄房产网温州seo结算
  • 长沙网站建设网站推广微信营销辅导机构
  • css3做的网站百度指数总结
  • 深圳市网络seo推广平台品牌seo主要做什么
  • 网站建设与管理的未来规划方案百度后台登录
  • 想建书画网站怎么做的百度做免费推广的步骤
  • 绍兴网站设计做网站的软件有哪些
  • 有免费做网站的吗如何去做网络营销
  • b2b的典型网站快推广app下载
  • 淄博安监局网站两体系建设餐饮营销引流都有什么方法
  • 怎么应聘淘宝客服在家兼职百度seo价格查询系统
  • 网站滚动效果怎么做的网站怎么让百度收录
  • 阿里云 建设网站营销软文
  • 建设银行指定网站网站收录提交入口大全
  • 义乌市网站建设代理情感营销经典案例
  • 做网站怎么别人搜不出来网络营销软件大全
  • 网站内容为王世界杯排名
  • 最好的wordpress网站本网站三天换一次域名
  • 喀什做网站长沙网络营销外包哪家好
  • 做网站需要什么语言网络营销企业是什么
  • 深圳网站制作易捷网络怎么做app推广和宣传
  • php做网站后台有哪些框架知乎营销推广
  • 凡科网站内容怎么做效果好seo快速建站