1. ホーム
  2. javascript

イベントエミッター」とは何ですか?

2023-08-13 16:20:40

質問

閲覧する http://microjs.com を見ると、多くのライブラリが「イベント エミッター」と書かれています。 私は、Javascript 言語の基本についてよく知っていると思いたいのですが、quot; event emitter" が何であるか、または何をするものであるかは、本当にわかりません。

どなたか教えていただけませんか?それは面白そうですが...。

どのように解決するのですか?

この場合 イベント をトリガーし、誰もがそれを聞くことができます。異なるライブラリは異なる実装と異なる目的のために提供しますが、基本的なアイデアはイベントを発行し、それらにサブスクライブするためのフレームワークを提供することです。

jQueryの例です。

// Subscribe to event.
$('#foo').bind('click', function() {
    alert("Click!");
});

// Emit event.
$('#foo').trigger('click');

以下は、カスタムイベントをデモするための疑似コードです(上記と全く同じパターンです)。

// Create custom object which "inherits" from emitter. Keyword "extend" is just a pseudo-code.
var myCustomObject = {};
extend(myCustomObject , EventEmitter);

// Subscribe to event.
myCustomObject.on("somethingHappened", function() { 
    alert("something happened!");
});

// Emit event.
myCustomObject.emit("somethingHappened");