await 实现 js
使用 async/await 实现异步操作
async/await 是 JavaScript 中处理异步操作的语法糖,基于 Promise 实现。通过 async 声明异步函数,await 等待 Promise 解析,使代码更接近同步风格。
基本语法:

async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
错误处理方式
使用 try/catch 捕获异步操作中的错误:

async function loadData() {
try {
const data = await fetchData();
console.log(data);
} catch (error) {
console.error('加载失败:', error);
}
}
并行执行多个异步任务
通过 Promise.all 实现并行等待:
async function fetchMultiple() {
const [user, posts] = await Promise.all([
fetch('/api/user'),
fetch('/api/posts')
]);
// 处理结果...
}
在循环中使用 await
避免在循环中直接使用 await 导致性能问题,可先收集 Promise 再统一等待:
async function processItems(items) {
const promises = items.map(item => processItem(item));
const results = await Promise.all(promises);
// 处理结果...
}
注意事项
await只能在async函数内使用- 顶层调用需使用 IIFE 或现代运行环境支持顶层
await - 过度串行化可能影响性能,需合理设计异步流程






