gpt4 book ai didi

javascript - Node.js for 循环处理 http 请求

转载 作者:行者123 更新时间:2023-12-03 03:48:21 25 4
gpt4 key购买 nike

对于 API 请求,我会遍历一些数组:

'邮件', '2017年3月20日 05:32', '11.07.2017 03:44', '2', '0', '2', '0', '4', '3', '46']

对于每个数组,我执行 3 个嵌套请求但现在我遇到的问题是我的请求索引有时是错误的。我认为我的循环比请求更快。我该如何采取以下方式:

  • 开始循环索引 = 1
  • 使用索引 1 进行 api 调用 1
  • 等待 API 调用 1 响应
  • 使用索引 1 进行 api 调用 2
  • 等待 API 调用 2 的响应
  • 使用索引 1 进行 API 调用 3
  • 等待api调用3的响应

  • 索引++

  • 使用索引 2 进行 api 调用 1……

for (var i = 1; i <= (csvData.length-1); i++){


var options = { method: 'GET',
url: 'https://api.pipedrive.com/v1/persons/find',
qs:
{ term: csvData[i][0],
start: '0',
search_by_email: '1',
api_token: '' },
headers:
{ 'postman-token': '',
'cache-control': 'no-cache' } };

request(options, function (error, response, body) {
if (error) throw new Error(error);


var user = JSON.parse(body);
console.log("-->User gefunden<--");
console.log("-->User: "+user.data[0].name+"<--");


var options = { method: 'GET',
url: 'https://api.pipedrive.com/v1/deals/find',
qs:
{ term: user.data[0].name,
api_token: '' },
headers:
{ 'postman-token': '',
'cache-control': 'no-cache' } };

request(options, function (error, response, body) {
if (error) throw new Error(error);

var deal = JSON.parse(body);


var options = { method: 'PUT',
url: 'https://api.pipedrive.com/v1/deals/'+deal.data[0].id,
qs: { api_token: '' },
headers:
{ 'postman-token': '',
'cache-control': 'no-cache',
'content-type': 'application/json' },
body: { stage_id: csvData[i-1][9]},
json: true };

request(options, function (error, response, body) {
if (error) throw new Error(error);

});

});


});


}


});

最佳答案

您需要使用:-

async.eachOfSeries(coll、iteratee、callback) 作为父循环和

async.eachSeries() 作为子循环。

有关更多详细信息,请参阅异步库:

https://caolan.github.io/async/docs.html#eachOfSeries

关于javascript - Node.js for 循环处理 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45280721/

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