Heim >Web-Frontend >js-Tutorial >Wie kann ich eine Schlaffunktion in modernem JavaScript effizient implementieren?

Wie kann ich eine Schlaffunktion in modernem JavaScript effizient implementieren?

Barbara Streisand
Barbara StreisandOriginal
2025-01-03 11:56:40657Durchsuche

How Can I Efficiently Implement a Sleep Function in Modern JavaScript?

Erstellen einer effektiven Schlaflösung in JavaScript: Ein moderner Ansatz

Während die Pausecomp-Funktion eine rudimentäre Lösung zum Einleiten einer Pause in JavaScript bietet, verlangen moderne Standards eine effizientere Lösung und eleganter Ansatz. Dieser Artikel stellt die aktuelle Best Practice zum Erreichen eines „echten Schlafs“ innerhalb einer Funktion in JavaScript vor, die seit 2009 weiterentwickelt wurde.

Die Superior-Sleep-Funktion

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

Diese Funktion nutzt das Versprechen API, eine integrierte Funktion, die in ECMAScript 2015 eingeführt wurde, um ein Promise zu erstellen, das den asynchronen Schlafvorgang darstellt. Nach Ablauf der angegebenen Anzahl von Millisekunden (ms) wird die Auflösungsfunktion aufgerufen, die wiederum die Fortsetzung der Ausführung auslöst.

Verwendungsbeispiele

Als Funktion:

const sleep = ms => new Promise(r => setTimeout(r, ms));

Einzeilig Syntax:

await new Promise(r => setTimeout(r, 2000));

Demo:

async function demo() {
    for (let i = 0; i < 5; i++) {
        console.log(`Waiting ${i} seconds...`);
        await sleep(i * 1000);
    }
    console.log('Done');
}

demo();

Das obige ist der detaillierte Inhalt vonWie kann ich eine Schlaffunktion in modernem JavaScript effizient implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:JavaScript vs. TypeScriptNächster Artikel:JavaScript vs. TypeScript