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
- RxJS CombineLatest operator 的一個具體使用例子JS
- Prometheus Operator自定義監控項Prometheus
- Angular 自定義結構型指令 structural directive 的使用AngularStruct
- RxJs map operator 工作原理分析JS
- 使用 RxJs Observable 來避免 Angular 應用中的 Promise 使用JSAngularPromise
- Angular JS 自定義指令的scope範圍AngularJS
- C#operator關鍵字自定義運算子C#
- Prometheus Operator自定義監控物件 -- Ingress-NginxPrometheus物件Nginx
- rxjs Observable filter Operator 的實現原理介紹JSFilter
- Angular學習(4)自定義指令Angular
- 使用 RxJs 實現一個支援 infinite scroll 的 Angular ComponentJSAngular
- Angular2+ 自定義Tree元件(參考Angular-material的CdkTree)Angular元件
- Kubernetes裡的Operator
- angular6自定義服務serviceAngular
- 第216天:Angular—自定義指令(二)Angular
- 30 天精通 RxJS (12):Observable Operator - scan, bufferJS
- 使用defineProperty實現自定義setter, 簡化前端Angular的重構工作前端Angular
- 使用 Rxjs 解決 Angular Component 之間的通訊問題JSAngular
- angular自定義元件-UI元件篇-switch元件Angular元件UI
- [譯] 使用 Angular 和 RxJS 實現的無限滾動載入AngularJS
- Angular 裡使用 FormControl 的步驟AngularORM
- SAP UI5和angular裡的常量定義UIAngular
- jquery自定義事件的使用jQuery事件
- rxjs 裡 Skip 操作符的一個使用場景JS
- rxjs 裡 CombineLatest 操作符的一個使用場景JS
- Angular 裡使用巢狀 Form 的步驟Angular巢狀ORM
- 簡單4步,利用Prometheus Operator實現自定義指標監控Prometheus指標
- Angular Ngrx Store 工具庫裡 Action 定義指南Angular
- Angular HTTP 請求自定義 timeout 值的一種實現思路AngularHTTP
- 30 天精通 RxJS (09):Observable Operator - skip, takeLast, last, concat, startWith, mergeJSAST
- 小程式自定義元件的使用元件
- springBoot自定義註解的使用Spring Boot
- onethink自定義外掛 怎麼在模板裡面使用模板的繼承?繼承
- Rxjs 裡 Subject 和 BehaviorSubject 的區別JS
- GitLab使用自定義埠Gitlab
- 初學Kotlin——在自定義View裡的應用KotlinView