Promise构造函数有哪些方法?

Promise构造函数有哪些方法?本号用于每日更新前端最新面试题 React Vue 小程序 JavaScript HTML5 CSS uniapp ES6 前端工程化 性能优化等热点面试题 欢迎关注 面试题刷起来 升职加薪不是梦 Promise 构造函数有以下几个

欢迎大家来到IT世界,在知识的湖畔探索吧!

Promise构造函数有哪些方法?



欢迎大家来到IT世界,在知识的湖畔探索吧!

本号用于每日更新前端最新面试题,React、Vue、小程序、JavaScript、HTML5、CSS、uniapp、ES6、前端工程化、性能优化等热点面试题~~~

欢迎关注,面试题刷起来~~升职加薪不是梦~~

Promise 构造函数有以下几个方法:

1:Promise.resolve(value):

返回一个已解析(fulfilled)状态的 Promise 对象,它的值为给定的 value。如果 value 是一个 Promise 对象,则直接返回该对象;如果是一个 thenable 对象(具有 then 方法),则会将其转换为 Promise 对象并解析;否则,返回一个以 value 为值的已解析 Promise 对象。

示例:

const promise = Promise.resolve(42); promise.then(value => { console.log(value); // 输出: 42 }); 

欢迎大家来到IT世界,在知识的湖畔探索吧!

2:Promise.reject(reason):

返回一个已拒绝(rejected)状态的 Promise 对象,它的拒因为给定的 reason。

示例:

欢迎大家来到IT世界,在知识的湖畔探索吧!const promise = Promise.reject(new Error('Something went wrong')); promise.catch(error => { console.error(error); // 输出: Error: Something went wrong }); 

3:Promise.all(iterable):

接收一个可迭代对象(如数组或字符串),返回一个新的 Promise 对象。该 Promise 对象在可迭代对象中的所有 Promise 都解析(fulfilled)时才会解析,如果其中任何一个 Promise 被拒绝(rejected),则该 Promise 直接被拒绝,并返回被拒绝的 Promise 的拒因。

示例:

const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); const promise3 = Promise.resolve(3); const allPromise = Promise.all([promise1, promise2, promise3]); allPromise.then(values => { console.log(values); // 输出: [1, 2, 3] }); 

4:Promise.race(iterable):

接收一个可迭代对象,返回一个新的 Promise 对象。该 Promise 对象在可迭代对象中的任何一个 Promise 解析或拒绝时也会解析或拒绝。

示例:

欢迎大家来到IT世界,在知识的湖畔探索吧!const promise1 = new Promise(resolve => setTimeout(resolve, 1000, 'one')); const promise2 = new Promise(resolve => setTimeout(resolve, 2000, 'two')); const racePromise = Promise.race([promise1, promise2]); racePromise.then(value => { console.log(value); // 输出: 'one'(因为 promise1 先解析) }); 

这些方法可以方便地创建和操作 Promise 对象,用于处理异步操作的结果和状态。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/116700.html

(0)
上一篇 33分钟前
下一篇 18分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信