Loop in JavaScript verlangsamen

20. Mai 2020

Wie du in JavaScript einen Loop langsamer laufen lässt.

Du musst eine API 500 mal requesten, kriegst aber Status 429 zurück wegen zu vieler Requests in zu kurzer Zeit? Was auch immer deine Gründe sind, einen Loop langsamer laufen zu lassen ist ganz simpel:

const wait = (ms) => {
    return new Promise((resolve) => setTimeout(resolve, ms));
}

Wir erstellen eine wait Funktion, welche ein Promise returned, welches nach X Millisekunden resolved wird. Jetzt können wir einfach mit await wait(1000) eine Sekunde warten bevor es weiter geht:

const ids = [1, 2, 3, 4, 5, 6];

const getPosts = async () => {
    for (const id of ids) {
        console.log(id);
        await wait(1000);
    }
};

getPosts();
zurück zu allen Beiträgen