欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中如何在一個(gè)循環(huán)中等待示例代碼詳解

 更新時(shí)間:2022年08月24日 14:33:40   作者:前端小工  
這篇文章主要介紹了在JavaScript中如何在一個(gè)循環(huán)中等待(附代碼示例),下面是如何使用for..of 循環(huán)來迭代一個(gè)數(shù)組并在循環(huán)內(nèi)等待,需要的朋友可以參考下

下面是如何使用for..of 循環(huán)來迭代一個(gè)數(shù)組并在循環(huán)內(nèi)等待:

const fun = (prop) => {
  return new Promise(resolve => {
    setTimeout(() =>
      resolve(`done ${prop}`), 1000);
  })
}

const go = async () => {
  const list = [1, 2, 3]
	
  for (const prop of list) {
    console.log(prop)
    console.log(await fun(prop))
  }
  
  console.log('done all')
}

go()

你需要把循環(huán)放在一個(gè)異步函數(shù)中,然后你可以使用await ,循環(huán)會停止迭代,直到我們正在等待的承諾得到解決。

你可以用for...in循環(huán)做同樣的事情,對一個(gè)對象進(jìn)行迭代:

const fun = (prop) => {
  return new Promise(resolve => {
    setTimeout(() =>
      resolve(`done ${prop}`), 1000);
  })
}
const go = async () => {
  const obj = { a: 1, b: 2, c: 3 };

  for (const prop in obj) {
    console.log(prop)
    console.log(await fun(prop))
  }
  
  console.log('done all')
}

go()

你也可以使用whiledo..whilefor 循環(huán),也是這種結(jié)構(gòu)。

但是你不能用Array.forEach()Array.map() 來等待。

到此這篇關(guān)于在JavaScript中如何在一個(gè)循環(huán)中等待(附代碼示例)的文章就介紹到這了,更多相關(guān)js循環(huán)等待內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論