この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
73. Observable fromEvent()を実装する
const fromEvent = (node, eventName) => { return new Observable((subscriber) => { const eventHandler = (event) => { subscriber.next(event); }; node.addEventListener(eventName, eventHandler); return () => { node.removeEventListener(eventName, eventHandler); }; });};
説明:
fromEvent()
関数はnode
とeventName
の2つの引数を持ちます。Observable
コンストラクタを使ってObservableオブジェクトを作成します。- イベントハンドラ関数を作成し、Observableの
next()
メソッドを呼び出します。 node.addEventListener()
を使用して、イベントリスナーを登録します。- Observableからサブスクライブ解除する場合、
node.removeEventListener()
を呼び出します。サブスクライブ解除時に行う必要があるのは、要素に対する参照を保持し続けるためです。