gpt4 book ai didi

javascript - Nodejs 顺序 url 请求的最佳实践

转载 作者:行者123 更新时间:2023-12-03 02:52:47 24 4
gpt4 key购买 nike

我有一个需要从 API 请求的 url 列表,但是为了避免造成大量负载,我理想情况下希望以 x 秒的间隔执行这些请求。一旦所有请求完成,就会出现某些无关紧要的逻辑。

有很多方法可以实现,我已经实现了几种。

A) 使用递归函数遍历保存所有 URL 的数组,并在每个请求完成且发生超时时调用自身

B) 为循环中的每个请求设置超时,并增加延迟并返回 promise ,在使用 Promise.all 解析后执行其余逻辑,依此类推。

这两种方法都有效。但是,您认为推荐的解决方法是什么?这更像是一个学术类型的问题,因为我这样做是为了学习,所以我宁愿避免使用抽象果汁的库。

最佳答案

您的解决方案几乎相同。我想我会选择一种不同的方法。我会做出初始 promise 和 sleep promise 功能,然后将它们链接在一起。

function sleep(time){
return new Promise(resolve => setTimeout(resolve, ms));
}

ApiCall()
.then(sleep(1000))
.then(nextApiCall())...

或更模块化的版本

var promise = Promise.resolve()
myApiCalls.forEach(call => {
promise = promise.then(call).then(() => sleep(1000))
})

最后,选择你所理解的、最让你理解的以及你在一个月内会理解的内容。您最容易阅读的解决方案就是您首选的解决方案,性能在这里并不重要。

关于javascript - Nodejs 顺序 url 请求的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47770113/

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