0

出力に非同期でメッセージを送信できますか?

このように、たとえば 4 つの出力を使用します。

this.on('input', function(msg) {
    this.send([ msg, null, null, null ]);

    /* do some time consuming work */

    this.send([ null, msg, null, null ]);

    /* do some time consuming work */

    this.send([ null, msg, msg, null ]);

    /* do some time consuming work */

    this.send([ null, msg, null, null ]);

    /* do some time consuming work */

    this.send([ msg, msg, msg, msg ]);
});

このようにすると、すべてのメッセージ送信がキューに入れられ、入力コールバックが完了すると送信されます。

編集: node-redis ではなく、node-red を意味します。私が抱えている問題は、すべての送信がキューに入れられ、直接送信されないことです。したがって、入力コールバック中に、出力でメッセージが表示されません。入力コールバックが終了すると、キューに入れられたすべてのメッセージが一度に送り出されます。

私がしたいのは、送信が入力コールバックの終了を待たずにメッセージを直接送信することです。したがって、非同期出力があります。

これがそれをよりよく説明することを願っています。

4

1 に答える 1

1

Ok。問題が解決しました!

node-red GUI の [Debug] タブだけが遅い部分です。「debug-tab and console」に設定されたデバッグ出力ノードは、すべてのメッセージをコンソールに直接表示します。

于 2015-04-15T12:27:29.957 に答える