01. Promise
Promise 是异步编程的解决方案,代表一个尚未完成但预期将来会完成的操作。有三种状态:pending、fulfilled、rejected。
javascript
// 创建 Promise
const fetchData = new Promise((resolve, reject) => {
setTimeout(() => {
resolve({ id: 1, name: "Alice" });
}, 1000);
});
// 使用 Promise
fetchData
.then(data => console.log(data))
.catch(error => console.error(error));
// Promise.all - 全部成功才成功
const results = await Promise.all([
fetch("/api/users"),
fetch("/api/posts"),
]);02. async/await
async/await 是 Promise 的语法糖,让异步代码看起来像同步代码。async 函数自动返回 Promise。
javascript
// async 函数
async function getUser(id) {
const response = await fetch("/api/users/" + id);
const user = await response.json();
return user;
}
// 使用
try {
const user = await getUser(1);
console.log(user);
} catch (error) {
console.error("获取用户失败:", error);
}
// 并发执行
async function loadDashboard() {
const [users, posts] = await Promise.all([
fetchUsers(),
fetchPosts(),
]);
return { users, posts };
}知识测验
第 1/5 题正确 0
Promise 的三种状态是什么?
下一节
下一节 ES6+ 新特性