gpt4 book ai didi

javascript - 如何使用 Node 中的 Promises 同时执行并行异步多个请求

转载 作者:搜寻专家 更新时间:2023-10-31 23:31:38 25 4
gpt4 key购买 nike

数组和循环,但我希望能够并行运行所有这些,因为我不想一个接一个地运行。

我基本上想将所有端点调用状态代码、正文和时间存储为数组,并将它们作为结果返回,无论端点中是否存在错误。

我正在使用 Bluebird,如何使用它的功能来解决这个问题?

最佳答案

您可以将 Promise.map.bind 一起使用:

function getComponentStatuses(componentsToCheck) {
return Promise.map(componentsToCheck, function() {
var start = Date.now();
return getAsync({
url: component.endpoint,
timeout: component.timeout
})
.bind({
name: component.name,
status: null,
body: null,
time: null
})
.spread(function(response, body){
Logger.info('GET took ' + end + 'ms.');
this.status = response.statusCode;
this.body = body;
return this;
})
.catch(function(e) { return this; })
.finally(function() { this.time = Date.now() - start; })
});
}

请注意,您的计时方法不正确,因为 http 代理可能会限制请求。

关于javascript - 如何使用 Node 中的 Promises 同时执行并行异步多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28164642/

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