この解答例はChatGPTによって生成されています,正しいかは自己判断で。
BFE.devでのAI解答例 - JavaScript コーディング問題
74. Observable Transformation Operators を実装する
function map(transformFn) {
return function (observable) {
return {
subscribe: function (observer) {
return observable.subscribe({
next: function (value) {
observer.next(transformFn(value));
},
error: function (err) {
observer.error(err);
},
complete: function () {
observer.complete();
},
});
},
};
};
}
このように、map()
関数は、transformFn
という関数を受け取り、その関数で observable から取得した値を変換し、新しい observable を生成して返します。返された observable は subscribe()
メソッドを実装しており、元の observable から値を受け取り、新しい値に変換して observer に渡します。そして、元の observable が完了したら、新しい observable も完了します。