Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie schließe ich die Methode setTimeout() in Promise ein?

WBOY
Freigeben: 2023-08-27 23:29:05
nach vorne
1240 Leute haben es durchsucht

Die Methode

如何将 setTimeout() 方法包装在 Promise 中?

setTimeOut() führt nach einer bestimmten Anzahl von Millisekunden einen Code oder eine Funktion aus. Manchmal müssen wir ein Versprechen nach einer bestimmten Verzögerung auflösen oder ablehnen. Wir können die Methode setTimeout() mit dem Versprechen verwenden.

In JavaScript ist ein Versprechen ein Objekt, das das Ergebnis einer asynchronen Operation zurückgibt. Hier lernen wir, die Methode setTimeOut() zu verwenden, um ein Versprechen nach einer Verzögerung aufzulösen oder abzulehnen.

Beispiel 1 (Versprechen ohne setTimeOut()-Methode)

Im folgenden Beispiel verwenden wir den Promise()-Konstruktor, um ein neues Promise zu erstellen. Der Promise-Konstruktor akzeptiert eine Rückruffunktion als Parameter und die Rückruffunktion führt die Methode „resolve()“ aus, um das Versprechen aufzulösen. Es demonstriert die grundlegende Verwendung von Promise.

<html>
<body>
   <h2>Using the Promises without setTimeOut() method in JavaScript</h2>
   <div id = "content"> </div> <br />
   <button onclick = "start()"> Resolve Promise </button>
   <script>
      let content = document.getElementById('content');
      
      // function for promise example
      function start() {
         let promise = new Promise(function (resolve, reject) {
            resolve("Promise is resolved!");
         });
         promise.then((value) => {
            content.innerHTML = "The result from resolved promise is " + value;
         });
      } 
   </script>
</body>
</html>
Nach dem Login kopieren

Grammatik

Benutzer können die Methode setTimeOut() mit Promise gemäß der folgenden Syntax verwenden.

new Promise(function (resolve, reject) {
   setTimeout(function () {
      resolve();
   }, delay);
}); 
Nach dem Login kopieren

In der obigen Syntax führen wir die Methode „resolve()“ in der Methode „setTimeOut()“ aus. Es führt die Methode „resolve()“ nach einer „Verzögerung“ von Millisekunden aus.

Beispiel 2 (Versprechen mit asynchroner Funktion und setTimeOut()-Methode)

Im folgenden Beispiel haben wir eine asynchrone Funktion namens „resolvePromise“ erstellt. Wir erstellen das Promise und speichern es in der Variablen „sumPromise“. Anschließend verwenden wir das Schlüsselwort „await“, um die Funktionsausführung anzuhalten, bis das Versprechen aufgelöst ist.

Der Benutzer kann in der Ausgabe beobachten, dass jedes Mal, wenn er die Taste drückt, das Versprechen nach 2000 Millisekunden aufgelöst wird.

<html>
<body>
   <h3>Using Promises with setTimeOut() method and async functions in JavaScript</h3>
   <div id = "content"> </div> <br>
   <button onclick = "resolvePromise()"> Resolve Promise </button>
   <script>
      let content = document.getElementById('content');
      
      // function for promise example
      async function resolvePromise() {
         let sumPromise = new Promise(function (resolve, reject) {
            setTimeout(function () {
               resolve("The sum of all data is 100.");
            }, 3000);
         });
         let result = await sumPromise;
         content.innerHTML = "The resolved promise's result is " + result;
      }
   </script>
</body>
</html>
Nach dem Login kopieren

Beispiel 3 (Versprechen mit then()-Block und setTimeout()-Methode)

Im folgenden Beispiel verwenden wir einen then()-Block, um Promise aufzulösen, anstatt die async/await-Syntax zu verwenden, wie in Beispiel 2 gezeigt. Wir verwenden setTimeOut() auch in einem Promise, wie in Beispiel 2 gezeigt, um das Promise nach einer Verzögerung aufzulösen.

<html>
<body>
   <h2>Using the Promises with setTimeOut() method in JavaScript</h2>
   <div id = "content"></div>
   <br>
   <button onclick = "resolvePromise()"> Resolve Promise </button>
   <script>
      let content = document.getElementById('content');
      
      // function for promise example
      function resolvePromise() {
         let promise = new Promise(function (resolve, reject) {
            setTimeout(function () {
               resolve("This promise is resolved after 2000 milliseconds");
            }, 2000);
         });
         promise.then(function (value) {
            content.innerHTML = "The resolved promise's result is " + value;
         });
      }
   </script>
</body>
</html>
Nach dem Login kopieren

In diesem Tutorial lernen Benutzer, die setTimeOut()-Methode in ein Promise einzuschließen. Darüber hinaus verwenden wir die async/await-Syntax und then()-Blöcke, um Promise aufzulösen. Benutzer können die Ausgabe des obigen Beispiels beobachten, das das Versprechen nach einer bestimmten Millisekunde auflöst.

Das obige ist der detaillierte Inhalt vonWie schließe ich die Methode setTimeout() in Promise ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!