在节点中发送请求的超时

时间:2018-01-15 06:45:01

标签: javascript node.js asynchronous

我的节点服务器在启动时执行缓存预热。数据是从外部Web服务请求的。

所有这些都是异步完成的,这意味着(当前)所有请求(大约300个)几乎立即完成(就像节点可以循环一样快),然后每个响应在到达时处理(根据我的理解)节点异步范例是。

这会导致问题,因为它会在外部Web服务上触发DDoS保护。

所以我需要限制在此阶段发送请求的频率(当服务器运行时,请求不经常这样做,而且从不快速连续发送)。

但是:我如何将这与节点“需要”的异步编程协调一致?如果我使用setTimeout它会将请求延迟到以后的时间,但由于它是在循环中完成的,它们几乎会在同一时刻发生。

使用await所以只有在收到前一个电话时才会触发每个电话,感觉太多限制。我可以做并行请求,只是在那么短的时间内没有那么多。

我怎样才能解决这个问题?

0 个答案:

没有答案