-1
我試圖降低我行計數的應用程序,但我不能讓我的觀測工作...RxJs堆棧觀測
所以,我有以下情形:
let openDialog = function(): Observable<any> {
// some logic that defines x
let x = 0;
// return
return Observable.create(observable => {
this.handleDialogResult(x).subscribe(
() => {
observable.next();
observable.complete();
},
e => {
observable.error(e);
observable.complete();
}
)
});
}
let handleDialogResult = function (x): Observable<any> {
switch (x) {
case 1:
return this.doMagic('Magic1');
case 2:
return this.doMagic('Magic2');
}
}
let doMagic = function (x): Observable<any> {
// some magic
}
那麼我想我得到了相同的功能,當你做到以下幾點:
let openDialog = function(): Observable<any> {
// some logic that defines x
let x = 0;
// return
return Observable.create(observable => {
this.handleDialogResult.flatMap(observable)
});
}
let handleDialogResult = function (x): Observable<any> {
switch (x) {
case 1:
return this.doMagic('Magic1');
case 2:
return this.doMagic('Magic2');
}
}
let doMagic = function (x): Observable<any> {
// some magic
}
但這不是的情況下,可觀察的openDialog,從來沒有得到的成品/完成。任何想法我可能做錯了什麼?
爲什麼你需要'flatMap'流。它看起來不像流的流 – atomrc