0
根據operator creation guide,我試圖鏈接一些運營商,我習慣了另一個運營商,但沒有任何成功。如何將RxJS5運算符鏈接到新的運算符?
function mySimpleOperator(actionName, iterable$, functionThatReturnAnObservable) {
return Observable.create(subscriber => {
var source = this;
var subscription = source
.interval(500)
.skipUntil(iterable$.filter(({ action }) => action.type === actionName))
.take(1)
.flatMap(functionThatReturnAnObservable)
.subscribe(value => {
try {
subscriber.next(value);
} catch(err) {
subscriber.error(err);
}
},
err => subscriber.error(err),
() => subscriber.complete());
return subscription;
});
}
Observable.prototype.mySimpleOperator = mySimpleOperator;
該函數只是開始一個間隔,並將跳過,直到actionName將被髮射。
但是當我試圖用我的操作
Observable.mySimpleOperator('APP_READY', source$,() => Observable.of({ type: 'DONE' })
它拋出一個錯誤
Observable.mySimpleOperator is not a function
但是,如果我做INTERVALL叫我的新的運營商以外的它的工作原理?!
Observable.interval(500).mySimpleOperatorWithoutIntervall('APP_READY', source$,() => Observable.of({ type: 'DONE' })
任何解決方案? :)