[英]Communicating between modules using HTTP in Nest.js
我在 Nest.js 中有 2 個模塊,我們稱它們為 Module1 和 Module2。 Module1 的端點為 /api/module1,而 Module2 的端點為 /api/module2。 我正在嘗試從 Module1 調用 Module2,如下所示
return await this.httpService
.post(url, data1, {
headers: header
})
.pipe(
map(res => {
return res.data;
}),
);
這里 url 是 /api/module2 而 data1 是我傳遞的參數。 當我打電話時,這就是我所看到的
{"_isScalar":false,"source":{"_isScalar":false},"operator":{}}
當 promise 在完全完成之前返回時,我通常會看到此錯誤。 不知道在這里做什么不同。 持有這個被調用的 httpService 的方法包含在 async 中,並且調用方法也有一個 await。
您所看到的是一個尚未訂閱的原始可觀察對象,可能是由於返回 promise 而不是返回可觀察對象。 Nest 的 HttpService 默認使用 RxJS 而不是 async/await,但要解決此問題,您可以輕松地在 RxJS ZA8CFDE6331BD59EB2AC96F89111C4 之后添加一個.toPromise()
,而不用擔心訂閱。
作為旁注:有什么理由通過 HTTP 模塊調用 API 而不僅僅是直接調用具有正確值的服務? REST 調用的開銷似乎很大。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.