【发布时间】:2016-01-08 00:36:06
【问题描述】:
我有一个外部 API,它将 API 请求的速率限制为每秒最多 25 个请求。我想将部分结果插入到 MongoDB 数据库中。
如何对请求函数进行速率限制,以免错过所有数组的任何 API 结果?
MongoClient.connect('mongodb://127.0.0.1:27017/test', function (err, db) {
if (err) {
throw err;
} else {
for (var i = 0; i < arr.length; i++) {
//need to rate limit the following function, without missing any value in the arr array
request( {
method: 'GET',
url: 'https://SOME_API/json?address='+arr[i]
},
function (error, response, body) {
//doing computation, including inserting to mongo
}
)
};
}
});
【问题讨论】: