ループを使用して複数の get リクエストを外部 API に送信できるプログラムを作成しています (各 ID のリクエストを送信します) が、コードを実行すると、重複した json レスポンスが返されます。たとえば、コードでは 3 つの ID しかないため、サーバーはIDごとに1つのリクエストを送信する必要があります。つまり、3つのリクエストを送信する必要がありますが、問題は、ループが3つのリクエストで停止する必要があるにもかかわらず、サーバーが3つ以上のリクエストを送信することです。混乱している
router.get('/activities/:stravaId',limiter,(req, res,done) => {
const userc=req.user;
const access_token=userc.access_token;
var _=require("underscore");
var fs=require("fs");
const ids=[ 3822613688,3822608735,3822619781]
strava = new stravaApi.client(access_token);
for (const ind in ids) {
strava.activities.listLaps({ id:ids[ind]},async function (err, payload) {
if (!err) {
console.log(payload)
fs.appendFile("streamjson.json", JSON.stringify(payload), err => {
if (err) throw err;
console.log("Done writing"); // Success
});
} else {
console.log(err)
}
})
}
})