JavaScript循环中怎么使用异步/等待

  介绍

小编给大家分享一下JavaScript循环中怎么使用异步/等待,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

<代码>异步代码与<代码>等待> 等待>

在本文中,分享一些在如果循环中使用<代码>等待>

准备一个例子

对于这篇文章,假设你想从水果篮中获取水果的数量。

const  fruitBasket =, {   ,苹果:27岁   ,葡萄:0,   ,梨:14   };

你想从<代码> fruitBasket 获得每个水果的数量。要获取水果的数量,可以使用<代码> getNumFruit 函数。

const  getNumFruit =, fruit =祝辞,{   return 才能fruitBasket(水果);   };      const  numApples =, getNumFruit(& # 39;苹果# 39;);   console.log (numApples);,//27日

现在,假设<代码> fruitBasket> setTimeout> const  sleep =,小姐=祝辞,{   return 才能;new 承诺(resolve =祝辞,setTimeout(解决,ms))   };      const  getNumFruie =, fruit =祝辞,{   return 才能睡眠(1000)(v =祝辞,fruitBasket(水果));   };      getNumFruit (“apple") (num =祝辞,console.log (num)),,//, 27日

最后,假设你想使用<代码>等待和<代码> getNumFruit> const  control =, async  _ =祝辞,{   console.log才能(& # 39;开始# 39;)      const 才能;numApples =, await  getNumFruit(& # 39;苹果# 39;);   console.log才能(numApples);      const 才能;numGrapes =, await  getNumFruit(& # 39;葡萄# 39;);   console.log才能(numGrapes);      const 才能;numPears =, await  getNumFruit(& # 39;梨# 39;);   console.log才能(numPears);      console.log才能(& # 39;结束# 39;)   }

 JavaScript循环中怎么使用异步/等待

在为循环中使用等待

首先定义一个存放水果的数组:

const  fruitsToGet =,(“苹果”,“葡萄”,“梨”],

循环遍历这个数组:

const  forLoop =, async  _ =祝辞,{   console.log才能(& # 39;开始# 39;);   ,,   for 才能;(let  index =, 0;, index  & lt;, fruitsToGet.length;,指数+ +),{   ,,,//,得到每个水果的数量   ,,}      console.log才能(& # 39;结束# 39;)   }

在<代码> 循环中,过上使用<代码> getNumFruit>

由于<代码> getNumFruit 返回一个<代码> 承诺,我们使用<代码>等待> const  forLoop =, async  _ =祝辞,{   console.log才能(& # 39;开始# 39;);      for 才能;(let  index =, 0;, index  & lt;, fruitsToGet.length;, index  + +), {   ,,,const  fruit =, fruitsToGet(指数);   ,,,const  numFruit =, await  getNumFruit(水果);   ,,,console.log (numFruit);   ,,}   console.log才能(& # 39;结束# 39;)   }

当使用<代码>等待> 循环中的<代码>等待>

结果正如你所预料的那样。

“开始”;   “苹果:27日”;   “葡萄:0”;   “梨:14”;   “结束”;

 JavaScript循环中怎么使用异步/等待

这种行为适用于大多数循环(比如<代码>,和<代码>的循环)…

但是它不能处理需要回调的循环,如<代码> forEach ,<代码> map ,<代码>过滤器和<代码>减少> 等待> forEach> 过滤器>

在forEach循环中使用等待

首先,使用<代码> forEach> JavaScript循环中怎么使用异步/等待