网站首页 > 博客文章 正文
本号用于每日更新前端最新面试题,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
});
2:Promise.reject(reason):
返回一个已拒绝(rejected)状态的 Promise 对象,它的拒因为给定的 reason。
示例:
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 解析或拒绝时也会解析或拒绝。
示例:
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 对象,用于处理异步操作的结果和状态。
猜你喜欢
- 2024-09-26 Vue3全新的前端构建工具vite学习(前端vue项目开发流程及架构)
- 2024-09-26 Vue核心知识:8.5如何在vuex中使用异步修改?推荐行为触发action
- 2024-09-26 Vue.nextTick 的工作机制(vue中nexttick原理)
- 2024-09-26 ES6(四)用Promise封装一下IndexedDB
- 2024-09-26 Vue项目处理错误上报如此简单(vue项目中遇到的问题,你是怎么解决)
- 2024-09-26 Vue开发:通过异步的方式加载vue组件
- 2024-09-26 Vue.js项目模板搭建(vue.js环境搭建)
- 2024-09-26 vue.js深入篇(一、响应式原理)(vue响应式源码解析)
- 2024-09-26 Vue中的nextTick方法是用来做什么的?
- 2024-09-26 Vue - 简单实现一个命令式弹窗组件
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)