問題タブ [event-driven-design]

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 投票する
0 に答える
46 参照

php - Zf2 イベント練習(変更可?)

zf2 でのイベントの実践について質問があります。ベスト プラクティスとして、オブジェクトを動的に注入するために、デフォルトで変更可能なインターフェイスを使用する必要があります。

しかし、イベントはどうですか?イベントは注入可能であるべきですか? たとえば、AuthenticationEvent 内の認証サービスです。AuthenticationEvent を直接呼び出すか、get/set 経由で呼び出す方がよいですか?

例:

また

よろしく

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

javascript - チャンクをファイルに書き込むためのイベント駆動型パターン - JS

WebRTC 経由でファイルを転送しようとしていますが、データが入ってきたときにデータを書き込むための適切なパターンを見つけるのに苦労しています。利用可能になったらチャンク。これは次の 2 つのことを意味します。

  1. データの受信速度が速すぎる場合は、現在の書き込みタスクが完了した後に書き込むために、各チャンクをキューに入れる必要があります
  2. データの受信が遅すぎる場合は、チャンクが利用可能になるまで待つ必要があります

setTimeout()理想的には、チャンクが到着するのを待つことに頼る必要は避けたいと思います。私がこれまでに持っているものは近いですが、探しているものとは正確には異なります:

これに関する問題は、チャンクがあまりにも速く入ってくるとfileWriter、次のチャンクを書き込む準備ができておらず、例外がスローされることです。ただし、チャンクの受信が遅すぎると、正しいタイムアウトを設定するのが非常に難しくなります。

ここでは、イベント駆動型のアプローチが最適に機能するようです。1 つのイベントは、 から着信するデータ メッセージRTCDataChannelです。もう 1 つのイベントは、fileWriter書き込みが完了し、次のチャンクを書き込む準備ができていることです。しかし、私が立ち往生している部分は、チャンクが入ってくるのを適切に待つ方法です...

ブラウザがファイルへの書き込みで忙しくなく、チャンクが入ってくるのを待っているだけの場合、ブラウザはチャンクが利用可能になり次第、チャンクの書き込みを開始する必要があります。setTimeoutしかし、いループなしでこれを行う方法がわかりません。もう待つ必要がなく、書き続けることができるというイベントを公開する方法がわかりません。

これを行うための良いパターンは何ですか?

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

.net - イベント ソーシングを使用したドメイン モデル

ばかげた質問ですが、イベント ソーシングを使用する場合、なぜドメイン モデルが必要なのでしょうか。

私は(もちろんイベントバス)と

  • それぞれが基本的な検証後にコマンドを送信するビジネス オペレーションを含むアプリケーション サービス
  • コマンドを受信するコマンド ハンドラは、追加のコマンド検証を実行し、イベントを発行します。
  • イベントを処理し、読み取りモデルを更新し、イベントをリポジトリ (イベント ソース) に保存するイベント ハンドラー
  • 読み取りモデルを提供する読み取りモデル サービス
  • 読み取りモデル サービスから読み取りモデルを使用するフロント エンド (UI またはその他)...およびビジネス オペレーションにアプリケーション サービスを利用します。

なぜ集約ルートとドメイン エンティティが必要なのですか? 追加のレイヤーの機能は何ですか?

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

javascript - イベント駆動型の方法で非同期コードを書く

私はnode.js時々非同期関数が本当に信じられないほど汚れてしまうことをプログラミングしています。非同期コードを書きたいが、イベントが発生するとデータを取得する

次に、イベントの方法でデータを取得したい

これを行う方法はありますか コールバック地獄に対する約束といくつかのサードパーティライブラリを知っていますが、私の質問は特に、コードを設計する方法を書いた方法ですか?

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

events - タイム ドリブン イベントのアーキテクチャ

時間駆動型のイベントを調べていますが、CPU を常に過剰に使用することなくこれを行う方法がわかりません。

これは私が思いつく最も基本的なイベント ハンドラーのように思えますが、実際には何もせずに大量の CPU を常に消費すると思います。

したがって、基本的な質問は次のとおりです。他の言語の時間駆動型イベントは、時間駆動型イベントをどのように処理しますか? 彼らは、解雇される準備ができているかどうかを常に確認していますか? 彼らは巧妙なスケジューリングメカニズムを使用していますか?

前もって感謝します。