【发布时间】:2020-03-31 19:39:27
【问题描述】:
我正在 nodejs 中构建应用程序,我必须通过点击 HTTPS 端点来显示数据。我正在使用 Swagger UI 来显示数据。
【问题讨论】:
我正在 nodejs 中构建应用程序,我必须通过点击 HTTPS 端点来显示数据。我正在使用 Swagger UI 来显示数据。
【问题讨论】:
如果这是 NestJS 中内置的 HttpService,服务会返回一个 RxJS Observable,默认情况下是不可等待的。您可以添加 toPromise() 以将 Observble 转换为可以等待的承诺,并且应该从那里得到等待的响应。否则,您可以删除 await 并使函数非异步,返回 observable 并让 NestJS 在后台订阅它。
重要的附注:您需要确保不要尝试发回原始 Axios 响应,因为存在 Nest 无法字符串化的循环引用。查看observable pipe and map 运算符,或在toPromise() 之后使用then 并以这种方式映射响应
【讨论】:
如果您不需要使用 NestJs 的 HttpService,您可以使用request-promise-native 或request-promise。这些包会默认返回 Promises,你可以等待它们。
希望对你有帮助!
【讨论】: