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.