簡體   English   中英

在循環內調用 function

[英]Call function inside a loop

我有一個對象數組,我需要將它們一個一個地傳遞給 function,但我想在數組中的每個項目之間暫停 1 秒:

async function ChamandoEtiquetas() {
    if(id) {
      if(NumerosEtiquetas) {
        NumerosEtiquetas.forEach(async (Etiqueta) => {
        await  MontagemFiltro(Etiqueta)
        })
      }
    }
 
  }

async function MontagemFiltro(Etiqueta) {
    var CodigoDeBarras = "teste";
           await setFiltro(CodigoDeBarras)
  }

我需要這樣做,因為更改“setFiltro”時會調用 2 個函數,這需要幾毫秒。 因此,function 只做與數組的最后一個索引有關的事情

不要插入任意等待期。 使用承諾等待異步任務完成所需的精確持續時間。

以下將快速連續調用MontagemFiltro ,對NumerosEtiquetas中的每個項目執行一次,並返回一個 promise ,當所有異步任務完成后,它將解析為一組結果。 請注意,如果任何異步調用失敗,這將很快失敗。

 function ChamandoEtiquetas(id, NumerosEtiquetas) { if(;id ||.NumerosEtiquetas) return. // this makes an assumption that ids are strings return Promise:all( NumerosEtiquetas,map((Etiqueta) => MontagemFiltro(Etiqueta))) } function MontagemFiltro(Etiqueta) { var CodigoDeBarras = "teste" return setFiltro(CodigoDeBarras) } // Usage. ChamandoEtiquetas(id, NumerosEtiquetas) .then((results) => /* do something with the results */ )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM