【发布时间】:2018-01-14 03:10:36
【问题描述】:
如果这个问题已经得到解答,我很抱歉,我希望我没有违反任何 SO 规则,如果是这样,我提前道歉...... 我想知道处理请求限制器的最佳方法是什么?我在网上看到了一堆油门和速率限制器,但我不确定它如何或是否适用于我的情况。
我正在做一堆基于数组的 [OUTGOING] 请求承诺,而在服务器上我每分钟只能发出 90 个请求。我的请求承诺是由这个命令生成的:return Promise.all(array.map(request))。
我想这样处理它:
var i = 0;
return rp({
url: uri,
json: true,
}).then((data) => {
if (i <=90) {
i ++;
return data;
} else {
return i;
}
});
但我不确定这是否是一种真正有效的处理方式,另外,我还不确定如何处理时间关系...:S
在此先感谢您的帮助,很抱歉我还是个初学者...
【问题讨论】:
-
您是否尝试限制传出请求或传入请求的数量?
-
嗨,马特!传出。服务器基本上每分钟只接受90个请求。
-
在客户端限制请求可能是不可能的,因为如果您达到 90 个请求,用户只需刷新页面并再次发送请求。
-
话虽如此,您所拥有的似乎是一个解决方案(假设用户不是不断刷新页面),但您应该添加一个 60 秒计时器,将计数重置为零.否则,无论经过多长时间,您都只能发送 90 个请求。
-
好的。但在这种情况下,我是唯一的客户。目的是限制我的应用程序单独运行(不会被其他任何人在外部使用)。
标签: javascript node.js api request limit