Heim > Web-Frontend > js-Tutorial > Wie kann ich auf Rückgabewerte von asynchronen Funktionen zugreifen, obwohl diese in Versprechen verpackt sind?

Wie kann ich auf Rückgabewerte von asynchronen Funktionen zugreifen, obwohl diese in Versprechen verpackt sind?

DDD
Freigeben: 2024-10-18 12:19:02
Original
745 Leute haben es durchsucht

How to Access Return Values from Async Functions Despite Being Wrapped in Promises?

Asynchrone Funktionen und Rückgabewerte

Ihr Problem ist, dass asynchrone Funktionen trotz der Rückgabe von Werten dies aufgrund des zurückgegebenen Werts oft nicht zu tun scheinen ist in ein Versprechen gehüllt. Um auf den Endwert zuzugreifen, haben Sie zwei Möglichkeiten:

1. Verkettung von Versprechen

Sie können die .then()-Methode eines Versprechens verketten, um den Endwert abzurufen:

<code class="javascript">let allPosts = new Posts('https://jsonplaceholder.typicode.com/posts');

allPosts.init()
    .then(d => {
        console.log(allPosts.getPostById(4));
        // Here you can return the value as needed
    });</code>
Nach dem Login kopieren

2. Asynchron/Warten

Innerhalb einer asynchronen Funktion können Sie „await“ verwenden, um die Ausführung der Funktion vorübergehend anzuhalten und auf die Auflösung eines Versprechens zu warten:

<code class="javascript">async function myFunc() {
    const postId = 4;
    await allPosts.init();

    // This is logging the correct value
    console.log('logging: ' + JSON.stringify(allPosts.getPostById(postId), null, 4));

    // Return the result using await
    return allPosts.getPostById(postId);
}

myFunc()
    .then(result => console.log(result))
    .catch(error => console.error(error));</code>
Nach dem Login kopieren

Auf diese Weise können Sie Erstellen Sie eine Funktion, die den Wert von getPostById(id) zurückgibt, indem Sie die asynchrone Natur Ihres Codes korrekt verarbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich auf Rückgabewerte von asynchronen Funktionen zugreifen, obwohl diese in Versprechen verpackt sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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