Rxjs,Observable链接

Rxjs,Observable链接

问题描述:

我想使用flatMap(),但它不起作用。Rxjs,Observable链接

var source1 = Rx.Observable.create((observer) => { 
    setTimeout(() => { 
     observer.onNext(1); 
     observer.onCompleted(); 
    }, 1000); 
}); 

var source2 = Rx.Observable.create((observer) => { 
    setTimeout(() => { 
     observer.onNext(2); 
     observer.onCompleted(); 
    }, 1000); 
}); 

var test = source1.flatMap((result) => { 
    console.log('flat: ' + result); 
    return source2; 
}, e => console.log(`onError1: ${e}`)); // onError1: 1 

test.subscribe((result) => { 
    console.log('subscribe: ' + result); 
}, e => console.log(`onError2: ${e}`)); // onError2: undefined 

我在做什么错?

flatMap的第二个参数是resultSelector,而不是错误处理程序。

subscribe()的第二个参数有错误处理程序。

所以,你的代码应该是这样的:

... 

var test = source1.flatMap((result) => { 
    console.log('flat: ' + result); 
    return source2; 
}); 

...