首页 > web前端 > js教程 > 尽管被 Promise 包裹着,如何访问异步函数的返回值?

尽管被 Promise 包裹着,如何访问异步函数的返回值?

DDD
发布: 2024-10-18 12:19:02
原创
745 人浏览过

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

异步函数和返回值

您的问题是,异步函数尽管返回值,但通常似乎不这样做,因为返回值被包裹在一个承诺中。要访问最终值,您有两个选项:

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板