問題タブ [noflo]
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.
asynchronous - NoFlo 非同期コンポーネントとデータ競合
NoFlo では、次のようなコンポーネントに出くわすことがよくあります。
ネットワークの大部分が非同期コンポーネントで構成されているにもかかわらず、3 つの入力接続すべてが何らかの方法で同期されていると想定しています。次の状況を考えてみましょう:が来るのをFoo
待ってパケットを受信しますが、次のパケットが到着し、それを next と結合する必要がありますが、前のパケットが来るのをまだ待っています。結果は、より多くの、または高いデータスループットで完全に混乱します。main
sup1
sup2
sup1
main
main
NoFlo 非同期コンポーネントにはデータ競合保護の手段がありますか、それともすべてコンポーネントの設計者次第ですか?
ここには、入力の同期と内部状態の維持という 2 つの側面があります。doAsync()
内部状態は、Node.js がマルチスレッド化されておらず、前のハンドラーが終了するまで状態変数にアクセスしようとしないという事実によって、多かれ少なかれ保護されています。しかし、入力の同期はまだ問題です。
noflo - noflo nodejs の初期化中にエラーが発生しました
node.js サーバーをセットアップしようとすると、次のエラーが発生します。最新バージョンの noflo と node.js を使用しています。Windows 上の NoFlo でこの動作が見られる人はいますか?
コマンドとエラーは次のとおりです。
*C:\Users\Johan\Source\Repos\HelloNoFlow>node node_modules.bin\noflo-nodejs-init --help
javascript - noflo: コンポーネントの動的読み込み - ベース [パス] ではコンポーネント [名前] を使用できません
エラーが発生しています:
Component [name] not available with base [path]
コンポーネントをネットワークの ComponentLoader インスタンスに動的にアタッチしようとするとき。
また、コンポーネントをローダーのコンポーネント コレクションのプロパティに直接割り当てようとしました。
noflo - noflo ネットワークは開始イベントと終了イベントを複数回発行します
以下に簡単なグラフを示します。これは、math/Add
受け取ったものを出力するだけのコンポーネントに出力が接続された 2 つの数値入力を持つコンポーネントです。
私は noflo を初めて使用し、start
andend
イベントを 1 回だけ見ようと思っていましたが、代わりに 2 回見ました。これは、ソケットが複数回接続および切断されるために発生します。
複数のstart
/が表示されるのはなぜend
ですか? これは設計によるものですか?
noflo - NoFlo コンポーネントの IP:s のオプションの同期
1 つの必須 IP と 3 つのオプション IP を持つコンポーネントを作成しています。問題は、後者の 3 つの IP はオプションですが、少なくとも 1 つが必須であるということです。次のようになります。
したがって、基本的に、コンポーネントはいくつか (少なくとも 1 つ!) のカテゴリまたはカテゴリの組み合わせで検索を実行する必要があります。
問題は、コンポーネントが接続されたすべての入力からデータを収集するまで待機し、検索して結果を転送する必要があることです。
wirePattern
/ヘルパーを調べましたgroupedInput
が、このタイプのオプションのグループ化がサポートされているかどうかわかりません。ここで些細なことを見逃していますか?この動作を実現する簡単な方法はありますか? IPのオプションもいくつか調べましたrequired
が、機能していません。