js异步编程之async/await详解

  • 时间:2025-10-20 21:50 作者: 来源: 阅读:0
  • 扫一扫,手机访问
摘要:async 和 await 是 ES6 引入的关键字,用于异步编程。async 用于声明一个函数为异步函数,异步函数的返回值会被隐式地Promise.resolve()包装。这样 asyn函数就会返回一个Promise对象,可以像其他Promise对象一样使用.then()和.catch()。await 只能在async函数内部使用,且只能等Promise对

async 和 await 是 ES6 引入的关键字,用于异步编程。

  • async 用于声明一个函数为异步函数,异步函数的返回值会被隐式地Promise.resolve()包装。这样 asyn函数就会返回一个Promise对象,可以像其他Promise对象一样使用.then()和.catch()。

  • await 只能在async函数内部使用,且只能等Promise对象的结果。遇到await,异步函数会暂停执行,等待Promise的结果,再恢复异步函数的执行并返回解析值。如果Promise变为reject状态,会抛出异常,需要通过catch捕获处理。

async和await的区别:

  • async用于定义一个函数,表明其内部有异步操作。async函数返回的永远是一个Promise对象。

  • await用于等待一个Promise对象的resolve,并获取resolve的值。await必须在async函数内部使用,而async函数返回的总是一个Promise对象

示例代码:

async function test() {  console.log('test start')  let value = await Promise.resolve('await value')  console.log(value)  console.log('test end')
}console.log('1')
test()console.log('2')

输出结果:

1
test start2await valuetest end

执行时序图:

js异步编程之async/await详解


从执行结果和执行时序图可以看出,程序是按顺序执行的,但是在执行test函数时,await会等待Promise.resolve异步执行完成后返回结果再继续执行test函数后面的语句。

总结

async 和 await 让异步代码看起来像同步代码,大大提高了异步编程的可读性和开发体验。async 定义异步函数,await 在异步函数中等待异步操作的完成。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Ubuntu 25.04 + RTX 2080(8GB)用 vLLM 部署 Qwen3:8B(2025-10-20 23:52)
【系统环境|】程序员笔记:LINUX安装NVIDIA驱动程序(2025-10-20 23:51)
【系统环境|】ollama 部署和配置(2025-10-20 23:50)
【系统环境|】docker环境运行GPU算法基础环境搭建(2025-10-20 23:50)
【系统环境|】60块钱矿卡p106重新上岗玩大模型(2025-10-20 23:49)
【系统环境|】Ubuntu 安装 NVIDIA L20 显卡驱动(2025-10-20 23:48)
【系统环境|】Ubuntu 22.04 Tesla V100s显卡驱动,CUDA,cuDNN,MiniCONDA3 环境的安装(2025-10-20 23:47)
【系统环境|】显卡驱动安装后CUDA不可用?90%的人都踩过这3个坑(2025-10-20 23:46)
【系统环境|】一夜回到解放前——掀起“NVDLA”的盖头来(Nvidia刚发布的NVDLA是何方神圣?)(2025-10-20 23:45)
【系统环境|】一键提取歌曲伴奏和人声分轨,最强伴奏与人声分离工具(2025-10-20 23:44)
手机二维码手机访问领取大礼包
返回顶部