【问题标题】:How can I resolve Promise pending output in nestjs framework?如何解决nestjs框架中的Promise挂起输出?
【发布时间】:2020-03-31 19:39:27
【问题描述】:

我正在 nodejs 中构建应用程序,我必须通过点击 HTTPS 端点来显示数据。我正在使用 Swagger UI 来显示数据。

【问题讨论】:

    标签: http promise nestjs


    【解决方案1】:

    如果这是 NestJS 中内置的 HttpService,服务会返回一个 RxJS Observable,默认情况下是不可等待的。您可以添加 toPromise() 以将 Observble 转换为可以等待的承诺,并且应该从那里得到等待的响应。否则,您可以删除 await 并使函数非异步,返回 observable 并让 NestJS 在后台订阅它。

    重要的附注:您需要确保不要尝试发回原始 Axios 响应,因为存在 Nest 无法字符串化的循环引用。查看observable pipe and map 运算符,或在toPromise() 之后使用then 并以这种方式映射响应

    【讨论】:

      【解决方案2】:

      如果您不需要使用 NestJs 的 HttpService,您可以使用request-promise-nativerequest-promise。这些包会默认返回 Promises,你可以等待它们。

      希望对你有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-09
        • 1970-01-01
        • 2021-06-04
        • 1970-01-01
        • 2018-05-24
        相关资源
        最近更新 更多