この解答例は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);    };  });};

説明:

  1. fromEvent()関数はnodeeventNameの2つの引数を持ちます。
  2. Observableコンストラクタを使ってObservableオブジェクトを作成します。
  3. イベントハンドラ関数を作成し、Observableのnext()メソッドを呼び出します。
  4. node.addEventListener()を使用して、イベントリスナーを登録します。
  5. Observableからサブスクライブ解除する場合、node.removeEventListener()を呼び出します。サブスクライブ解除時に行う必要があるのは、要素に対する参照を保持し続けるためです。