js实现await
实现异步操作的 await 方法
在 JavaScript 中,await 用于等待一个 Promise 的解决或拒绝。它只能在 async 函数中使用。以下是几种常见的实现方式:

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

async function fetchDataWithErrorHandling() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Error fetching data:', error);
}
}
并行执行多个异步操作
使用 Promise.all 并行执行多个异步操作:
async function fetchMultipleData() {
const [data1, data2] = await Promise.all([
fetch('https://api.example.com/data1').then(res => res.json()),
fetch('https://api.example.com/data2').then(res => res.json())
]);
console.log(data1, data2);
}
自定义 Promise 实现
可以手动创建一个返回 Promise 的函数,然后在 async 函数中使用 await:
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function delayedLog() {
await delay(1000);
console.log('Logged after 1 second');
}
注意事项
await只能在async函数中使用,否则会抛出语法错误。await会暂停当前async函数的执行,直到 Promise 解决或拒绝。- 使用
await可以让异步代码看起来更像同步代码,提高可读性。






