Heim > Web-Frontend > js-Tutorial > Wie arbeiten asynchrone Funktionen und Versprechen in JavaScript zusammen?

Wie arbeiten asynchrone Funktionen und Versprechen in JavaScript zusammen?

Mary-Kate Olsen
Freigeben: 2024-12-22 20:15:17
Original
959 Leute haben es durchsucht

How Do Async Functions and Promises Work Together in JavaScript?

Asynchrone Funktionen und Versprechen

Bei der Arbeit mit asynchronen Vorgängen ist es wichtig zu verstehen, wie asynchrone Funktionen und Versprechen interagieren.

Asynchrone Funktionen geben immer Versprechen zurück

Anders als normal Bei asynchronen Funktionen geben asynchrone Funktionen immer ein Versprechen zurück, das den Abschluss ihrer asynchronen Vorgänge anzeigt. Dadurch wird die Handhabung asynchroner Vorgänge in sequentiellem Code einfacher.

Beispiel:

async function latestTime() {
  const bl = await web3.eth.getBlock('latest');
  return bl.timestamp;
}
Nach dem Login kopieren

Rückgabe primitiver Werte vs. Versprechen

Obwohl die Funktion einen primitiven Wert (bl.timestamp) zurückgibt, gibt die Funktion „latestTime()“ selbst ein Versprechen zurück. Dies kann zu Verwirrung führen, wenn Sie versuchen, auf den Rückgabewert zuzugreifen.

Versprechen verwenden

Um auf den aufgelösten Wert des zurückgegebenen Versprechens zuzugreifen, müssen Sie den Befehl then( verwenden ) Methode:

latestTime().then((time) => {
  console.log(time);
});
Nach dem Login kopieren

Alternativ können Sie in modernen JavaScript-Umgebungen die Top-Level-Methode verwenden Warten:

const time = await latestTime();
console.log(time);
Nach dem Login kopieren

Explizite Promise-Behandlung

Zur Verdeutlichung finden Sie hier eine explizitere Darstellung, wie sich die asynchrone Funktion in Bezug auf Promise-Rückrufe verhält:

function latestTime() {
    return new Promise((resolve, reject) => {
        web3.eth.getBlock('latest').then((bl) => {
            resolve(bl.timestamp);
        })
    });
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie arbeiten asynchrone Funktionen und Versprechen in JavaScript zusammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage