gpt4 book ai didi

javascript - for循环,回调,超时一起,超时似乎不起作用

转载 作者:行者123 更新时间:2023-12-03 07:35:14 24 4
gpt4 key购买 nike

我有一个用例,我需要一起使用for-loop,webservice回调,超时,然后我发现超时似乎不起作用,这里是代码:

function handler5Min(i){
if (i < sites.length){
var site5MinPath = '/v3/sites/' + sites[i].siteid + '/data?fields=Wh_sum&tz=US/Pacific&gran=daily';
var end = moment().format('YYYY-MM-DDThh:mm:ss');
var start = moment().subtract(2, 'days').format('YYYY-MM-DDThh:mm:ss');
site5MinPath = site5MinPath + '&start=' + start + '&end=' + end;

var options = locusUtil.setOptions(site5MinPath, globalToken.token.access_token);
request(options, function(err, result, body){
if (err){
log.error(err + ' path: ' + site5MinPath);
}
if (body){
var data = JSON.parse(body).data;
log.info('5 min data: ' + JSON.stringify(body, null, 4));
setTimeout(handler5Min(i+1), 5000);
}
})
}
else{

}
}
handler5Min(0);

请求正在发送一个网络服务请求,我需要等到得到响应,然后我移动到下一个站点[]项目进行下一次调用,而且,API提供商将请求限制为每秒2个,所以我有一个setTimeout 存在,但似乎超时没有发生。

最佳答案

而不是做

setTimeout(handler5Min(i+1), 5000);

setTimeout(handler5Min, 5000, i + 1);

关于javascript - for循环,回调,超时一起,超时似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35642060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com