2014-10-10 34 views
0

關於服務器API,我應該將請求限制爲每秒3次。 這是我的代碼:Winjs中的setTimeout

groups.forEach(function (group) { 
    Api.simpleRequest(uri).then(function (res){ 
     // processing result 
    }, function(err) { 
     // error handling 
     }); 
}); 

我試圖這樣做: 1.

for (var i=0; i < groups.length; i++) { 
    (function (index){ 
     setTimeout(function() { 
      Api.simpleRequest(url).then() //... 
     }, 1000); 
    })(i); 
}; 
  • 試圖使用WinJS.Promise.timeout(1000)然後繼續我的承諾。
  • 兩個選項都不會爲我工作。

    回答

    1

    剛剛找到工作的解決方案,但與的setInterval()的代替的setTimeout()

    var i = 0; 
    var length = groups.length - 1; 
    
    var timer = setInterval(function() { 
        Api.simpleRequest(uri).then() //... 
    
        if (i == groups.length) { 
         clearInterval(timer); 
        }; 
        i++; 
    });