介绍async 和 await
时间: 2025-03-11 10:15:55 浏览: 9
JS中async
和await
的用法及原理
async
函数定义
在JavaScript中,使用async
关键字可以声明一个异步函数。当函数被标记为async
时,它会自动返回一个Promise
对象[^2]。
async function fetchData() {
// 函数体内可执行异步操作
}
await
等待Promise完成
await
表达式用于等待一个Promise
对象的解析结果,在此期间,程序不会继续向下执行而是暂停直到该Promise
状态变为已解决或拒绝。需要注意的是,只有在一个由async
修饰的函数内部才能合法地使用await
语句[^4]。
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('数据获取失败:', error);
}
上述代码片段展示了如何利用fetch()
方法发起HTTP请求并处理响应的数据流。这里先调用了fetch()
去获取资源,接着通过.json()
解析JSON格式的内容;这两者都是基于Promise
的操作,因此可以在前面加上await
让其顺序执行而无需嵌套多层回调函数。
错误处理机制
对于可能出现异常的情况,推荐采用try...catch
结构来进行错误捕获与处理。如果任何带有await
的关键字抛出了未被捕获的错误,则整个async
函数将会立即终止,并将控制权交给最近一层包围它的catch
块。
原理概述
本质上讲,async
/await
是对原有Promise
语法的一种简化形式,使得开发者能够更直观地书写非阻塞式的逻辑流程。这种设计不仅提高了代码的可读性和维护性,同时也降低了因复杂链式调用所带来的理解成本[^3]。
相关推荐













