Middle+
/** * Είναι απαραίτητο να γράψετε μια ασύγχρονη λειτουργία, * που θα "κοιμάται" τον καθορισμένο αριθμό χιλιοστών, * και στη συνέχεια θα ολοκληρώνεται με επιτυχία */ function sleep(duration) { } // Παράδειγμα const startTime = Date.now(); console.log("Ξεκινάμε τον ύπνο..."); sleep(2000).then(() => { console.log("Ξύπνησε μετά από 2 δευτερόλεπτα!"); console.log("Χρόνος που πέρασε: ", Date.now() - startTime); }); sleep(1000).then(() => { console.log("Ξύπνησε μετά από 1 δευτερόλεπτο!"); console.log("Χρόνος που πέρασε: ", Date.now() - startTime); });
sobes.tech AI
Απάντηση από AI
Η λειτουργία sleep πρέπει να επιστρέφει μια υπόσχεση που θα επιλυθεί μετά το καθορισμένο χρονικό διάστημα σε χιλιοστά του δευτερολέπτου. Αυτό μπορεί να υλοποιηθεί με setTimeout μέσα στην υπόσχεση:
function sleep(duration) {
return new Promise(resolve => {
setTimeout(resolve, duration);
});
}
Το παράδειγμα χρήσης από την ερώτηση θα λειτουργήσει σωστά, εμφανίζοντας μηνύματα μετά το καθορισμένο χρόνο αναμονής.