当前位置: 首页 > 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.hrbkazy.com/news/28965.html

相关文章:

  • 做自媒体的网站有哪些网站推广优化教程
  • 提供手机网站建设哪家好关键词排名
  • wordpress h5主题嘉兴seo报价
  • 如何在工商局网站做清算组备案抖音seo点击软件排名
  • 即时通讯网站开发源码最近一周新闻
  • wordpress小工具选项搜索引擎优化关键词选择的方法有哪些
  • 盐城那里做网站好点网络营销的八种方式
  • 用div css做网站首页厦门seo
  • 域名注册好了怎么做网站上海做网站优化
  • 网站首页大图轮播东莞网络营销推广专业
  • 小面网站建设优化网站页面
  • 怎么看网站是不是h5做的站长综合查询工具
  • 香港免费域名注册网站微网站建站平台
  • 网站流量提升英国搜索引擎
  • 怎么做网站架构图上海专业排名优化公司
  • 网站设计的研究方法有哪些中国十大互联网公司
  • 手机微信网站模板惠州seo关键字排名
  • 怎么做代理ip网站关键词百度网盘
  • 乐清市信息公开网谷歌seo服务公司
  • 做网站做磁力搜索引擎
  • 信用门户网站建设规范图片扫一扫在线识别照片
  • 网站预订功能怎么做济南百度快照推广公司
  • 有没有专门做旅游攻略的网站阿里云域名注册
  • 网站建设实施方案班级优化大师学生版
  • 洛阳设计网站公司关键词整站优化
  • 新疆乌鲁木齐网站建设网站制作在百度上怎么打广告
  • 阿里云云服务器ecs做网站访问慢seo是干嘛的
  • 有没有免费制作网站的专业网站快速
  • 网站建设制作设计seo优化山东美国疫情最新情况
  • 山东平台网站建设多少钱优化大师百科