异步函数和返回值
您的问题是,异步函数尽管返回值,但通常似乎不这样做,因为返回值被包裹在一个承诺中。要访问最终值,您有两个选项:
1。 Promise 链接
您可以链接 Promise 的 .then() 方法来检索最终值:
<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。 Async/Await
在异步函数中,你可以使用await来暂时暂停函数的执行并等待Promise解析:
<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>
这样,你可以通过正确处理代码的异步性质,创建一个返回 getPostById(id) 值的函数。
以上是尽管被 Promise 包裹着,如何访问异步函数的返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!