我需要在循环中向外部服务器发出 get 调用请求,但问题是在循环中调用 all 会导致速率限制,所以我只想每 5 分钟或 10 次左右在循环内进行调用,是否有可以帮助实现这一目标的方式。这是我的代码:
const util = require('util');
const StravaClientService = require("../../strava/client.service");
const StravaActivityService = require("../../strava/activity.service");
const _ = require("underscore");
const fs = require("fs");
const AWS = require("aws-sdk");
const ids = require("underscore");
const data = require("underscore");
AWS.config.update({
region: "us-east-1",
});
var docClient = new AWS.DynamoDB.DocumentClient();
module.exports = (router) => {
router.get("/streams/:id", async (req, res, done) => {
const userc = req.user;
const access_token = userc.access_token;
const ids = [4401422821,
4401416494,
4401413107,
]
const stravaClient = StravaClientService.getClient(access_token);
const activityService = StravaActivityService(stravaClient);
//
var params = {
TableName:"run-id",
Key: {
"id": userc.stravaId,
}
};
docClient.get(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.Item.json);
ids.map(( id ) => setTimeout(activityService.streamActivity,5000,id))//data.Item.json
}
});