当前位置: 首页 > news >正文

async await执行顺序

async await执行顺序

async/await 是用于编写异步代码的语法糖,它允许你以类似于同步代码的方式写异步操作。async 关键字声明的函数会返回一个 Promise,而 await 关键字用于等待一个 Promise 完成。

执行顺序如下:

  1. 调用 async 函数。

  2. 函数会继续执行,遇到 await 时,控制权会交回给调用者。

  3. 等待的表达式(通常是一个返回 Promise 的表达式)开始执行。

  4. 一旦 Promise 解决(fulfilled),函数会从暂停的地方恢复,继续执行后续的操作。

下面是一个简单的例子:

 
 

async function firstAsync() {

console.log('First async');

return 'First result';

}

async function secondAsync() {

console.log('Second async');

return 'Second result';

}

async function asyncFunction() {

const firstResult = await firstAsync();

console.log(firstResult);

const secondResult = await secondAsync();

console.log(secondResult);

}

asyncFunction();

执行顺序如下:

  1. 调用 asyncFunction 函数。

  2. 首先执行 firstAsync,打印出 "First async"。

  3. 遇到 await firstAsync(),控制权交回给 asyncFunction 的调用者。

  4. 执行 secondAsync,打印出 "Second async"。

  5. firstAsync 的 Promise 解决,继续执行 console.log(firstResult),打印出 "First result"。

  6. 遇到 await secondAsync(),控制权再次交回给 asyncFunction 的调用者。

  7. secondAsync 的 Promise 解决,继续执行 console.log(secondResult),打印出 "Second result"。

综上所述,async/await 的执行顺序是按照函数中的顺序执行的,每遇到 await 关键字就会暂停当前函数的执行,等待 Promise 完成后再恢复执行。


http://www.mrgr.cn/news/34936.html

相关文章:

  • VMware和CentOS 7.6 Linux操作系统的安装使用
  • rocketmq——docker-compose安装
  • 【嵌入式】ESP32开发(一)ESP-IDF概述
  • [2024最新] java八股文实用版(附带原理)---java集合篇
  • 鸿蒙next版开发:ArkTS组件通用属性(文本通用)
  • C++:线程(thread)的创建、调用及销毁
  • 中文文本词性分析-技术实现-python
  • 旷视科技ShuffleNetV1代码分析[pytorch版]
  • Apache Cordova和PhoneGap
  • 关于考试监听切屏的三种方式
  • 【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
  • excel 时间戳与日期转换
  • 9_23_QT窗口
  • Java--认识泛型(2)
  • vue3 数字滚动组件封装
  • 如何只用 CSS 制作网格?
  • 从理论到实践:业务能力建模在数字化转型中的落地实施路径
  • 二.python基础语法
  • SpringBoot使用hutool操作FTP
  • 软设每日打卡——在一个页式存储管理系统中,页表内容如下所示: 若页的大小为4KB,则地址转换机构将逻辑地址0转换成物理地址(块号在0开始计算)为
  • 开创远程就可以监测宠物健康新篇章
  • 降维技术内涵及使用代码
  • C++(学习)2024.9.23
  • IM项目------消息存储子服务
  • CSS05-Emment语法
  • 搭建EMQX MQTT服务器并接入Home Assistant和.NET程序