async await 用法示例
时间: 2024-09-06 17:05:44 浏览: 26
详解C#中的Async和Await用法
`async` 和 `await` 是 JavaScript 中用于处理异步操作的关键特性,它们一起构成了 Promise 的链式调用风格,使得异步代码看起来更像同步,易于理解和维护。
`async` 关键字用于声明一个函数是异步的,它返回一个Promise。而在函数体内部,你可以使用 `await` 关键字等待一个Promise的结果,只有当Promise解析成功(resolve)后,才会继续执行后续代码。
下面是一个简单的异步操作示例:
```javascript
// 使用 async/await 示例
function fetchData(url) {
return new Promise((resolve, reject) => {
// 模拟网络请求
setTimeout(() => {
if (!url) {
reject(new Error('URL is required'));
} else {
resolve({ data: 'Some data from ' + url });
}
}, 2000);
});
}
async function displayData() {
try {
const response = await fetchData('https://api.example.com/data');
console.log(response.data);
} catch (error) {
console.error(error.message);
}
}
displayData(); // 等待2秒后打印数据
```
在这个例子中,`fetchData` 函数返回一个Promise,我们通过 `await` 关键字将其暂停,直到数据加载完成。如果网络请求出错,异常会被`catch`块捕获。
阅读全文