什么是 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)问题,使异步代码更加易读、易写和维护。

相关推荐
gAlAxy...16 小时前
IntelliJ IDEA 四种项目构建:从普通 Java 到 Maven Web 项目
前端·firefox
my一阁16 小时前
2025-web集群-问题总结
前端·arm开发·数据库·nginx·负载均衡·web
会飞的小妖16 小时前
个人博客系统(十一、前端-简短的配置)
前端
liu****16 小时前
1.模拟算法
开发语言·c++·算法·1024程序员节
数据村的古老师16 小时前
Python数据分析实战:基于25年黄金价格数据的特征提取与算法应用【数据集可下载】
开发语言·python·数据分析
孔明兴汉17 小时前
第一章-第三节-Java开发环境配置
java·开发语言
念念不忘 必有回响17 小时前
nginx前端部署与Vite环境变量配置指南
前端·nginx·vite
小王不爱笑13217 小时前
Java 核心知识点查漏补缺(一)
java·开发语言·python
空空kkk17 小时前
Java——类和对象
java·开发语言
JIngJaneIL17 小时前
篮球论坛|基于SprinBoot+vue的篮球论坛系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·篮球论坛系统