Sobes.tech
Middle+

/** * Reikia parašyti asinchroninę funkciją, * kuri "miegos" nurodytą milisekundžių kiekį, * ir tada sėkmingai užbaigs darbą */ function sleep(duration) { } // Pavyzdys const startTime = Date.now(); console.log("Pradedame miegoti..."); sleep(2000).then(() => { console.log("Prabudau po 2 sekundžių!"); console.log("Praėjęs laikas: ", Date.now() - startTime); }); sleep(1000).then(() => { console.log("Prabudau po 1 sekundės!"); console.log("Praėjęs laikas: ", Date.now() - startTime); });

sobes.tech AI

Atsakymas iš AI

sleep funkcija turėtų grąžinti Promise, kuris išsprendžiamas po nurodyto milisekundžių skaičiaus. Tai galima įgyvendinti naudojant setTimeout viduje Promise:

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

Pavyzdys iš klausimo veiks teisingai ir po nurodyto laukimo laiko parodys pranešimus.