async*阻塞函数体的执行
创始人
2024-09-21 00:01:05
0

可以使用异步迭代器来解决这个问题。异步迭代器是一种特殊类型的迭代器,可以在遍历元素时异步地产生值。与同步迭代器不同,异步迭代器可以在产生值时暂停执行,等待某些异步任务完成后再继续执行。

下面的代码演示了如何使用异步迭代器来避免阻塞函数体的执行:

async function* loadItems() {
  // 异步迭代器
  const items = await api.getItems(); // api是一个异步函数,会返回一个Promise

  for (const item of items) {
    yield await api.getItemDetails(item); // 等待Promise完成
  }
}

async function displayItems() {
  for await (const item of loadItems()) { // 使用异步迭代器
    console.log(item);
  }
}

displayItems(); // 启动异步任务

在这个示例中,loadItems 函数返回一个异步迭代器,它从 api.getItems() 函数中获取一些项目,并返回一个异步'generator”对象,该对象将这些项目的详细信息异步地产生出来。注意,此时函数体并没有被阻塞。

displayItems 函数使用'for await”循环来遍历异步迭代器所产生的值,这样每当一个项目详细信息产生出来时,就会打印到控制台中。由于使用了异步迭代器,这个循环也不会阻塞函数体的执行。

最后,在外部函数中调用 displayItems 函数来启动异步任务。

相关内容

热门资讯

今日!河洛缸次辅助器,微友辅助... 今日!河洛缸次辅助器,微友辅助神器下载(透视)插件-一直真的有挂1、游戏颠覆性的策略玩法,独创攻略技...
近日!新超圣正版辅助,八闽福建... 近日!新超圣正版辅助,八闽福建辅助(透视)app-本来真的是有挂1、让任何用户在无需新超圣正版辅助安...
此事引发广泛关注!闲娱江西修改... 此事引发广泛关注!闲娱江西修改器,广西老友玩辅助(透视)神器-原来存在有挂1、广西老友玩辅助辅助器安...
据相关数据显示!微乐小程序挂哪... 据相关数据显示!微乐小程序挂哪里,老友广东辅助工具下载(透视)教程-一直真的是有挂1、老友广东辅助工...
长期以来!福建兄弟13水破解版... 长期以来!福建兄弟13水破解版插件,嗨动互动辅助(透视)工具-原来有挂1、福建兄弟13水破解版插件辅...
近期!广西友乐辅助器,创思维激... 近期!广西友乐辅助器,创思维激k辅助控制器(透视)工具-本来存在有挂1、超多福利:超高返利,海量正版...
近日!欢乐达人暗堡链接辅助,好... 近日!欢乐达人暗堡链接辅助,好友赣南能装挂吗(透视)攻略-本来是真的挂1、超多福利:超高返利,海量正...
近期!江汉晃晃辅助器,潮汕汇鱼... 近期!江汉晃晃辅助器,潮汕汇鱼虾蟹辅助(透视)软件-竟然存在有挂1、潮汕汇鱼虾蟹辅助脚本辅助下载、潮...
连日来!战神辅助官网,潮汕来物... 连日来!战神辅助官网,潮汕来物局游戏源码(透视)教程-都是真的是有挂1、不需要AI权限,帮助你快速的...
值得注意的是!微乐自建房脚本免... 值得注意的是!微乐自建房脚本免费下载,四川熊猫辅助软件(透视)攻略-确实是有挂1、玩家可以在微乐自建...