問題タブ [event-bus]

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 に答える
3295 参照

events - イベントバスのイベント順序

朝、

バスを使用してSimpleEvent、集中型データ リバイバーからウィジェットにデータを送信しています。これは非常にうまく機能します。サーバーから新しいデータのセットを取得し、RPC 呼び出しの成功メソッドがそれをイベントバスに置きます。各ウィジェットは、データが目的のものであるかどうかを調べます。そうでない場合は、それを「表示」します。リクエストごとに 1 つのデータ セットしかなく、ウィジェットは既に送信されている他のデータに依存しません。

これで、ツリー ウィジェットができました。ツリーの子ノードも作成され、このデータ セットをスローします。この子ノードは、自身をイベントバスに登録して、子ノードのデータを復活させます。データは(パフォーマンス上の理由から)急いで受信されるため、「同時に」(forループで)イベントバスに置かれる複数のデータセットを取得します。それらがそこに配置される順序のみを制御します(最初にルート、次に最初の子のデータ......)。Eventbus はどのようにイベントを進めますか?

  • 彼は最初のイベントが完了するまで待っているので、ツリーの最初の子はすでに作成を完了しており、それ自体をイベントバスに登録して、その子のデータを作成するためにデータを復活させます。
  • 彼はそれらを同時に処理するので、ウィジェットはイベントバスに登録さえされません。
  • 彼は注文を混同しますか?!?!

現在のソリューション アプローチ:

  1. 私が考えることができる最善の解決策は、前のイベントが完了したときにのみ新しいイベントをイベントバスに置くことです。ただし、そうする方法、またはそれが Eventbus の標準的な動作である場合は、方法を見つけました。
  2. イベントがウィジェットによって処理されたときに、リクエスト処理終了イベントを発生させます。うん...これは多くの追加コードにつながり、どのウィジェットにも属さないイベントバスにデータが置かれると、大きな問題を引き起こします....
  3. リクエストが処理されたときに true に設定された静的変数を登録し、イベントバスがイベントバスに次のリクエストを送信するまでこれだけ待機します (2 つに似ていますが、コーディング スタイルが悪く、同じ問題があります)。
  4. すべてのイベントは、ルート ツリー要素によって処理され、それぞれの子要素に送信されます。

どちらのソリューションを希望しますか?またその理由は?

よろしく、ステファン

PS: 私のお気に入りの答えは、1. が Eventbus の標準的な動作であるということです^^

0 投票する
3 に答える
2153 参照

gwt - GWT での EventBus の役割

EventBus を使用した GWT でのこのクールなイベント処理について読みましたが、今のところとても気に入っています。しかし、いつ使うべきかという概念がよくわかりません。いつも?使いすぎてもいいですか?イベント関連のすべてに使用する必要がありますか? (MVP のビューとプレゼンター レイヤー間の通信のように? または onMouseMove イベントで使用できますか? それはどのくらい重いですか?)

では、1 つの質問として、GWT における EventBus の正確な役割は何でしょうか?

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

gwt - GWT イベント バスでディスパッチされたすべてのイベントをリッスンする方法は?

Event Busタイプに関係なく、 でディスパッチされたすべてのイベントをリッスンできるようにしたいと考えています。これどうやってするの?

0 投票する
1 に答える
2315 参照

java - GuavaEventBusのアノテーションとインターフェース

Guava開発者は、アノテーションを使用することを選択しました。

...従来のインターフェースの代わりに:

これにより、コンパイル時のチェックが不可能になります。ですから、このアプローチの利点は何でしょうか。

ここに注釈の利点がありますか?

0 投票する
1 に答える
1237 参照

gwt - HandlerManager はソースとどのように連携しますか?

HandlerManagerを分析しましたが、イベント ソースの処理方法がわかりません。117 行目:

ただし、単純なイベント バスの実装には、86 行目の次のコードがあります。

そのため、HandlerManagerは常にdoFire(event, null);を呼び出すため、ソースでイベントを発生させません。

HandlerManager がソースのイベントを発生させる方法を明確にしていただけますか? Widget で使用される HandlerManager として、Widget インスタンスのみのイベントをどのように発生させますか?

0 投票する
4 に答える
1413 参照

java - Gwt 2.4 での EventBus と Gin のトラブル

MVP GWT 2.4 で Gin を使用しようとしています。私のモジュールには、次のものがあります。

上記のコードでは、新しいcom.google.web.bindery.event.shared.EventBus. アクティビティを実装する MVP アクティビティにイベント バスを挿入したい場合に問題が発生します。

Activity非推奨の を使用しcom.google.gwt.event.shared.EventBusます。どうすれば2つを調和させることができますか? 明らかに、非推奨タイプの EventBus を要求すると、そのバインディングを指定していないため、Gin は文句を言うでしょう。

更新: これにより、アプリをビルドできるようになりますが、今では 2 つの異なるEventBuss があり、これはひどいものです:

0 投票する
1 に答える
423 参照

gwt - GWTのAbstractActivity.startに渡されるEventBusは、何に使用されることを目的としていますか?

アクティビティフレームワークを使用する前に、通常、GWTEventBusのグローバル/シングルトンインスタンスを1つ持っていました。ここで、アクティビティクラスがインスタンスをアクティビティに渡すことに気付きました。このイベントバスは、クロスアプリケーションのクライアント側の一般的なメッセージパッシングまたは他の何かを行うことを目的としていますか?

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

gwt - GWT コンポーネントで EventBus を使用するためのベスト プラクティス

アプリケーションの 2 つの場所で使用されているコンポーネント C があるとします。たとえば、2 つのタブに表示されているフォルダーのリストがあります。ユーザーが一方のフォルダの名前を変更すると、この変更は他方にも反映される必要があります。

これには EventBus を使用し、フォルダー コンポーネントで EventBus イベント (FolderChangedEvent など) を発生させることを考えています。このイベントは、そのフォルダー リストを自動的に更新する 2 番目のフォルダー コンポーネントによってインターセプトされます。

問題は、ある時点でこのフォルダー コンポーネントを 3 番目の場所で使用したい場合、この場所のフォルダー リストも更新されるということです。これは、アプリケーションの望ましい動作ではない可能性があります。

通常は、Folder コンポーネントに独自の addFolderChangedHandler(...) メソッドを持たせますが、このコンポーネントは非常に複雑でサブコンポーネントがあるため、スパゲッティ タイプのコードが作成される可能性があります。ただし、このコンポーネントにアプリケーション固有のロジックを含めて、アプリケーションの EventBus にイベントを直接スローする必要はないと思います。

この場合のベスト プラクティスは何ですか? EventBus を効率的に使用するにはどうすればよいですか?

0 投票する
1 に答える
2336 参照

android - グアバイベントバスが機能しない

AndroidでGuavaイベントバスを使用しようとしていますが、サブスクライブしたイベントが機能していないようです...何が間違っているのですか?

これは私の活動です:

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

java - Akka EventBus for Java の例

Akka が提供する EventBus を Java (Scala ではありません!) で使用する方法についてアドバイスが必要です。Web サイトのドキュメントは不完全なようです: http://doc.akka.io/docs/akka/2.0.1/java/event-bus.html

私が理解している限り、次のような特定のメッセージに反応するようにアクターを作成する必要があります。

しかし、イベント バスにメッセージを送信する方法が明確ではありません。

誰かが良いチュートリアル/例/などを共有できますか?