Promise 和 async/await
Promise 和 async/await 是现代 JavaScript 异步编程中两个重要的概念和工具。它们用于处理异步操作,例如网络请求、定时器等。下面将介绍 Promise 和 async/await 的关系,并通过多个示例来说明它们的用法。
Promise 的基础概念
Promise 是 ES6 引入的一种异步编程解决方案,它代表一个在未来某个时间点可能会完成(resolved)或失败(rejected)的值。Promise 对象有三种状态:
- Pending(待定):初始状态,既没有被完成也没有被拒绝。
- Fulfilled(已完成):操作成功完成。
- Rejected(已拒绝):操作失败。
Promise 的基本用法如下:
let promise = new Promise((resolve, reject) => {
// 异步操作
let success = true;
if (success) {
resolve("成功!");
} else {
reject("失败!");
}
});
promise.then((message) => {
console.log(message); // 成功!
}).catch((error) => {
console.error(error); // 失败!
});
async 和 await 的基础概念
async
和 await
是 ES8(ES2017)引入的语法糖,用于简化 Promise 的使用。async
关键字用于声明一个异步函数,而 await
关键字用于等待一个 Promise 对象的完成。
一个使用 async
和 await
的基本示例如下:
async function fetchData