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>
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>
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!