ソースコード:
import { of } from 'rxjs';
import { Injectable } from '@angular/core';
import { map } from 'rxjs/operators';
@Injectable()
export class JerrySandBoxService{
name = 'Jerry';
print(){
const observable = of(1, 2, 3);
const opt = map(num => 'hello world: ' + num + ' done');
const newObservable = opt(observable);
newObservable.subscribe(data => console.log(data));
}
}
結果:
マップオペレーターは、矢印関数を受け取ります。
マップの内部実現:単一のパラメーターを受け入れるmapOperationという名前の新しい関数を返します。
次に、opt操作を実行します。
ソースはObservableであり、プロジェクトはアプリケーション開発者によって指定された矢印関数です:
Map演算子のコンストラクタ:
新しいObservableオブジェクトを作成し、現在のObservableオブジェクトをソースに渡します。operator.projectは矢印関数です。
新しいObservableオブジェクトでsubscribeを呼び出します。
この構文に注意してください。これに含まれる演算子オブジェクトを中括弧で演算子変数に割り当てます。
シンクはサブスクライバー、ソースはオブザーバブル、そしてオペレーターはアロー関数です。
演算子がある場合は、まず矢印関数を実行します。
arrow関数によって返された結果を新しい入力パラメーターとしてサブスクライバーの次のメソッドに渡します。
最後に、subscribeを呼び出すときに渡されたarrow関数を実行します。
Jerryによるオリジナルの記事をさらに入手するには、パブリックアカウント「Wang Zixi」に従ってください。