問題タブ [nats.io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4855 参照

javascript - NestJS NATS リクエスト - レスポンス

NestJS と NATS マイクロサービスを使用しようとしています。基本的なリクエスト/レスポンスを設定するための適切なドキュメントがあります。

私がしたことは次のとおりです。

ローカル NATS サーバーを実行しました。

main.tsサーバーに接続するようにmy をセットアップします。

メッセージを送り返す ClientProxyFactory を作成しました。

app.controller.ts特定のパターンに応答するようにコントローラーをセットアップします。

リクエスト/レスポンス メッセージの送信を試みるテスト ファイルを設定します。

Nest アプリを実行すると、NATS サーバー ログで正しく作成されたサブスクリプションを確認できます。

ファイルを実行するとtest.ts、 でタイムアウトしNatsError: Request timed out.ます。ただし、コンソール ログは表示されます (データはundefined、公開されたメッセージで指定しているにもかかわらずです。

returnメソッドもclient.sendメソッドも、アプリからメッセージを受信するために機能していません。

どんな助けでも大歓迎です!

編集:まだこの問題を調査しており、立ち往生しています。Microservice docsの「Sending Messages」セクションでは、「パターンは @MessagePattern() デコレーターで定義されたものと同じでなければなりませんが、ペイロードは別のマイクロサービスに送信したいメッセージです。」. 私がそうすると、Nest アプリは送信するメッセージを検出し、メッセージを送信して同じメッセージを永遠に受信するという無限ループに陥ります。