async await用法Promise
时间: 2024-06-27 17:00:58 浏览: 105
js代码-事件循环判断输出,重点async await promise
`async` 和 `await` 是 JavaScript 中用于处理异步操作的重要特性,它们通常与 Promise 结合使用。Promise 是一种处理异步操作的方式,它封装了异步操作的结果,并提供了三种状态(pending, fulfilled, rejected)来表示操作是否成功。
`async` 关键字用于定义一个函数,该函数会返回一个 Promise 对象。这意味着函数内部的代码可以在执行过程中暂停,并在异步操作完成后恢复执行。添加 `async` 后,函数内的任何 `return` 语句都会自动返回 Promise 的结果。
`await` 关键字用于等待 Promise 对象的结果。当你在一个 `async` 函数中遇到 `await` 时,程序会暂停执行直到 Promise 解决(fulfilled 或 rejected),然后继续执行接下来的代码。如果 Promise 成功(状态为 fulfilled),`await` 后面的表达式将被解析为该 Promise 的值;如果 Promise 失败(状态为 rejected),则会抛出异常。
例如:
```javascript
async function fetchData(url) {
try {
const response = await fetch(url); // 等待fetch操作完成
if (!response.ok) {
throw new Error(`Error! status ${response.status}`);
}
const data = await response.json(); // 等待数据解析
return data;
} catch (error) {
console.error(error);
return null;
}
}
// 使用方式
const result = fetchData('https://api.example.com/data');
result.then(data => console.log(data)).catch(error => console.error(error));
```
阅读全文