Sobes.tech
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);
    });
}

Το παράδειγμα χρήσης από την ερώτηση θα λειτουργήσει σωστά, εμφανίζοντας μηνύματα μετά το καθορισμένο χρόνο αναμονής.