Angular rxjs裡自定義operator的使用
操作符是函式,它基於當前的 Observable 建立一個新的 Observable。這是一個無副作用的操作:前面的 Observable 保持不變。
操作符本質上是一個純函式 (pure function),它接收一個 Observable 作為輸入,並生成一個新的 Observable 作為輸出。
看個例子:
ngOnInit(): void {
// input has type observable
function multiplyByTen(input) {
return new Observable(function subscribe22anyname(observer) {
input.subscribe({
next: (v) => observer.next(10 * v),
error: (err) => observer.error(err),
complete: () => observer.complete()
});
});
}
const inpute = from([1, 2, 3, 4]);
const output = multiplyByTen(inpute);
output.subscribe(x => console.log(x));
}
呼叫我自定義的Operator multiplyByTen, 返回一個新的Observable例項:
在Observable的建構函式裡,將應用程式傳入的subscribe方法傳入並維護到_subscribe方法裡:
sink.add方法裡呼叫應用程式編寫的回撥:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
相關文章
- rxjs Observable 自定義 Operator 的開發技巧JS
- Angular 自定義管道 pipes 的使用Angular
- Prometheus Operator自定義監控項Prometheus
- Angular 自定義結構型指令 structural directive 的使用AngularStruct
- RxJS CombineLatest operator 的一個具體使用例子JS
- RxJs map operator 工作原理分析JS
- Angular過濾器 自定義及使用方法Angular過濾器
- angular中的自定義過濾器Angular過濾器
- C#operator關鍵字自定義運算子C#
- 使用 RxJs Observable 來避免 Angular 應用中的 Promise 使用JSAngularPromise
- Angular學習(4)自定義指令Angular
- Angular JS 自定義指令的scope範圍AngularJS
- rxjs Observable filter Operator 的實現原理介紹JSFilter
- angular6自定義服務serviceAngular
- 30 天精通 RxJS (12):Observable Operator - scan, bufferJS
- 使用defineProperty實現自定義setter, 簡化前端Angular的重構工作前端Angular
- Angular2+ 自定義Tree元件(參考Angular-material的CdkTree)Angular元件
- 細說 Angular 的自定義表單控制元件Angular控制元件
- angular中的表單資料自定義驗證Angular
- Angular 4.x 自定義驗證指令Angular
- 第216天:Angular—自定義指令(二)Angular
- SAP UI5和angular裡的常量定義UIAngular
- 使用 RxJs 實現一個支援 infinite scroll 的 Angular ComponentJSAngular
- 使用 Rxjs 解決 Angular Component 之間的通訊問題JSAngular
- [譯] 使用 Angular 和 RxJS 實現的無限滾動載入AngularJS
- Angular Ngrx Store 工具庫裡 Action 定義指南Angular
- Angular 裡使用 FormControl 的步驟AngularORM
- Angular 裡使用巢狀 Form 的步驟Angular巢狀ORM
- rxjs 裡 Skip 操作符的一個使用場景JS
- jquery自定義事件的使用jQuery事件
- 簡單4步,利用Prometheus Operator實現自定義指標監控Prometheus指標
- Angular 4.x 自定義表單控制元件Angular控制元件
- Angular 裡的 Service WorkerAngular
- 自定義的請求頭,你去哪裡了?
- SAPGUI裡實現自定義的語法檢查GUI
- Rxjs 裡 Subject 和 BehaviorSubject 的區別JS
- onethink自定義外掛 怎麼在模板裡面使用模板的繼承?繼承
- 使用Photos自定義相簿