Node-REDを仕事で使用しており、いくつかわかったことがあリますので技術情報を共有します。
1.HTTPの通信エラーを検知する方法
msg.statusCodeの内容で判定して、通信エラーを検知することができます。
具体的には、msg.statusCodeの内容が200かotherwiseというように判定する。
msg.statusCodeには、数値だけではなく文字列が入ることがあるためです。
例えば、HTTPリクエスト先URLのサーバが起動していない場合は、msg.statusCodeに”EHOSTUNREACH”という文字列が入ってきます。
(例)msg.statusCode:”EHOSTUNREACH”(HTTPリクエスト先URLのサーバが起動していない場合)
通信エラーを検知して画面に何かアラートを表示する際には、活用できると思います。
2.メモリの負荷を減らす工夫
デバッグノードを繋ぐことでフローが二股になるようなところでは、メモリの負荷を減らすために、デバッグノードの線を削除した方が良いです。
フローが二股になるとmsgデータがコピーされるため、メモリの負荷に繋がるようです。
私の場合は、デバッグノードを使用せずに、ファンクションノードでnode.status関数を使用して、ファンクションノードの下にデバッグノードで表示していた内容を表示するように工夫しています。
node.status関数の使用方法は、ドキュメントを参照ください。
3.WebSocketの接続エラーを検知する方法
ステータスノードを使用すると、WebSocketの接続状態を検知することができます。
具体的には、connected 又は disconnectedという状態が取得できます。
WebSocketの接続状態を検知して、画面に何かアラートを表示する際に活用できると思います。