什么是 async、await ?

async/await 是 JavaScript 中用于处理异步操作的一种语法糖。它们使得异步代码的编写和阅读更加简洁和直观。

具体来说,async 函数是一个返回 Promise 对象的函数,可以在函数内部使用 await 关键字来等待 Promise 对象的解析。await 关键字会暂停函数的执行,直到 Promise 对象解析完成并返回结果。

下面是一个简单的示例,展示了 async/await 的用法:

javascript 复制代码
function delay(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function fetchData() {
  console.log('开始获取数据');
  await delay(2000); // 等待2秒钟
  console.log('数据获取完成');
  
  return 'Data';
}

async function main() {
  console.log('开始执行主函数');
  const data = await fetchData(); // 等待 fetchData 函数执行完成并返回结果
  console.log('获得数据:', data);
}

main();

在上述示例中,fetchData 函数是一个异步函数,它使用 await 关键字等待 delay 函数的 Promise 对象解析完成。当 await 表达式执行时,函数的执行会暂停,直到 Promise 对象状态变为 resolved(或者 rejected)后再继续执行。

main 函数中,我们使用 await 等待 fetchData 函数执行完成,并获取其返回结果。

使用 async/await 可以有效地处理回调地狱(callback hell)问题,使异步代码更加易读、易写和维护。

相关推荐
江沉晚呤时2 分钟前
构建智能代理的利器:深入解析 Microsoft Agent Framework
开发语言·c#
走粥5 分钟前
JavaScript Promise
开发语言·前端·javascript
-CRzy5 分钟前
CTF之web-信息收集
前端
范纹杉想快点毕业7 分钟前
C语言设计模式:从基础架构到高级并发系统(完整实现版)
c语言·开发语言·设计模式
神算大模型APi--天枢6469 分钟前
合规落地加速期,大模型后端开发与部署的实战指南
大数据·前端·人工智能·架构·硬件架构
四瓣纸鹤11 分钟前
F2图表柱状图添加文本标注
前端·javascript·antv/f2
先做个垃圾出来………12 分钟前
Python测试桩工具
java·开发语言·python
inferno13 分钟前
HTML基础(第二部分)
前端·html
Dreamcatcher_AC19 分钟前
Ajax技术:前后端交互全解析
前端·ajax
行思理19 分钟前
FastAdmin新手教程
java·开发语言·fastadmin