Sobes.tech
Middle+

/** * Należy napisać asynchroniczną funkcję, * która będzie "spać" określoną liczbę milisekund, * a następnie pomyślnie się zakończy */ function sleep(duration) { } // Przykład const startTime = Date.now(); console.log("Rozpoczęcie snu..."); sleep(2000).then(() => { console.log("Obudziłem się po 2 sekundach!"); console.log("Czas upłynął: ", Date.now() - startTime); }); sleep(1000).then(() => { console.log("Obudziłem się po 1 sekundzie!"); console.log("Czas upłynął: ", Date.now() - startTime); });

sobes.tech AI

Odpowiedź od AI

Funkcja sleep powinna zwracać Promise, który zostanie rozwiązany po zadanej liczbie milisekund. Można to zrealizować za pomocą setTimeout wewnątrz Promise:

function sleep(duration) {
    return new Promise(resolve => {
        setTimeout(resolve, duration);
    });
}

Przykład użycia z pytania będzie działał poprawnie, wyświetlając wiadomości po określonym czasie oczekiwania.