技术文摘
promise的函数有哪些
2025-01-10 14:52:59 小编
Promise的函数有哪些
在JavaScript异步编程中,Promise是一个极为重要的概念,它提供了一系列强大的函数来处理异步操作。了解这些函数,能极大提升我们处理异步任务的效率和代码的健壮性。
首先是 then() 函数。这是Promise最常用的函数之一,它用于处理Promise的成功状态。当Promise被成功解决(resolved)时,会执行 then() 回调函数中的代码。例如:
const promise = new Promise((resolve) => {
setTimeout(() => {
resolve('成功的结果');
}, 1000);
});
promise.then((result) => {
console.log(result);
});
上述代码中,promise 经过一秒后被成功解决,then() 函数接收 resolve 传递的结果并打印出来。
catch() 函数则用于处理Promise的失败状态。当Promise被拒绝(rejected)时,会执行 catch() 回调函数中的代码。比如:
const errorPromise = new Promise((_, reject) => {
setTimeout(() => {
reject(new Error('发生错误'));
}, 1500);
});
errorPromise.catch((error) => {
console.error(error);
});
这里 errorPromise 经过一秒半后被拒绝,catch() 捕获到错误并在控制台打印错误信息。
finally() 函数无论Promise的状态如何都会执行。它接收一个回调函数,不管Promise是成功还是失败都会执行该回调。例如:
const anyPromise = new Promise((resolve) => {
setTimeout(() => {
resolve('任意状态');
}, 2000);
});
anyPromise
.then((res) => console.log(res))
.catch((err) => console.error(err))
.finally(() => console.log('无论如何都会执行'));
这段代码中,finally() 里的内容在Promise解决后一定会执行。
除了实例方法,Promise还有一些静态方法。比如 Promise.all(),它接收一个Promise数组,只有当数组中的所有Promise都成功解决时,它返回的Promise才会成功,并且返回一个包含所有Promise结果的数组。Promise.race() 同样接收一个Promise数组,哪个Promise先完成(成功或失败),它返回的Promise就以哪个Promise的结果或错误来结束。
掌握Promise的这些函数,能让我们在异步编程中更加得心应手,编写出更高效、更可靠的代码。
- Flex4 DataGrid 嵌入 RadioButton 的实现方法与代码
- WML 学习之七:CGI 编程
- Flex 弹性布局全面解析
- IDEA 升级后 Git 拉取和推送标签消失的应对策略
- WML 学习之六:事件
- Flex 自定义 DataGrid 依据条目某一属性值更改背景颜色
- WML 学习之四:锚与任务
- WML 学习之五:显示表单
- Visual Assist X 番茄助手安装及汉化指南
- WML 学习(三):显示文本
- Flex DataGrid 伪合并单元格的实现思路
- Flex 中遍历 Object 键值的示例代码
- WML 学习(二):基本格式与文件头
- WML 学习(一):概述与基本规则
- Flex 获取每月周次的小示例