簡體   English   中英

在Node Js中依次使用不同的參數多次運行一個函數

[英]Run a function multiple times with different arguments sequentially in Node Js

我有一個帶有值的數組,我想運行一個帶有回調的函數,該數組的每個值都按順序作為參數進行回調。 意思是,使用第一個單元格的值運行該函數,完成后使用第二個單元格的值運行該函數,以此類推。我嘗試使用Q,但似乎找不到用參數執行此操作的方法,它一直在調用該函數。

例:

var array = [1,2,3,4,5]

var func1 = function(num){
  setTimeout(function(){
    console.log(num+num);
  }, 3000);
}

我想以1作為參數運行該函數,完成后以2作為參數運行等

請注意,我要按順序運行它。

謝謝!

使用array.map

var array = [1,2,3,4,5]

var func1 = function(num){
  console.log(num+num);
}
array.map(func1)

只需使用forEach

var array = [1,2,3,4,5]
var func1 = function(num){
  console.log(num+num);
}
array.forEach(func1);

並且使用Promise之類的東西(不是有效的代碼,只是給出想法):

var array = [1,2,3,4,5]
var func1 = function(num){
     var p = new Deferred();
     setTimeout(function(){
         console.log(num+num);
         p.resolve(num+num)
     }, 3000);
     return p;
}
var count = 0;
function next() {
    func1(array[count++]).then(next);
}

暫無
暫無

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

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