0

ループを使用して複数の 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)
            }
        })
    }
})
4

1 に答える 1