1

オブジェクトが混在する多くのファイルを読み込んでいます。root次のようなオブジェクトをストリーミングするストリームが 1 つあります。

// root stream
{"action": "action_type_a", "id": "1234"}
{"action": "action_type_b", id: "24566"}
{"action": "action_type_b", id: "0808098"}
{"action": "action_type_b", id: "8098098"}
{"action": "action_type_a", "id": "098098"}
{"action": "action_type_b", id: "08098"}

rootストリームを 2 つの別々のgrepフィルター処理されたストリームにパイプして、 1 つのフィルター処理action_type_aを呼び出すAと、次のようになります。

// stream A
{"action": "action_type_a", "id": "1234"}
{"action": "action_type_a", "id": "098098"}

そのためのフィルタリングはaction_type_b B次のようになります。

// stream B
{"action": "action_type_b", id: "24566"}
{"action": "action_type_b", id: "0808098"}
{"action": "action_type_b", id: "8098098"}
{"action": "action_type_b", id: "08098"}

私も別mapのIDを持っています

// id map
{
 "1234" : "098098",
 ""098098" : "8098098"
}

オブジェクトのID がオブジェクトAの ID と一致するようにB

ストリームを処理Aして、各オブジェクト ID をマップと比較し、処理Bしてストリームに対応するオブジェクトがあるかどうかを確認したいB

Bのすべてのオブジェクトを処理する前にストリームを排出せずにこれを処理する方法がわかりませんA

B私が最初に考えたのは、 の各エントリのクローンを作成することでしたA。それは可能ですか?

私の現在の試みはevent-streams es.map、ストリーム上Aおよびマップ関数内で使用して、Bそれを読み取って比較しようとしていることです。しかし、これは私に与えています:ABB

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.

Bのマップ内でリスナーを再定義しているため、エラーが発生しましたA

4

0 に答える 0