异步任务(网络请求、定时器)不会立刻返回结果。Promise 表示“将来完成的值”;async/await 让异步代码读起来像同步。
图:pending → fulfilled / rejected 三种状态
async function loadProfile(id) {
try {
const res = await fetch("/api/user/" + id);
if (!res.ok) throw new Error("请求失败");
return await res.json();
} catch (err) {
console.error(err);
return null;
}
}
并行与串行
多个独立请求用 Promise.all;有依赖关系才串行 await。