【发布时间】:2017-01-03 12:29:36
【问题描述】:
如何使用 mergeAll 运算符仅发出已解决的承诺。
var s1 = Rx.Observable.from([1,3,2])
var s2 = Rx.Observable.from([4,5,6])
var samplePromise = val => new Promise((resolve,reject)=>{
setTimeout(()=> {if(val==3) reject(new Error(val)); else resolve(val);},val*1000)});
var mergedSource= Rx.Observable.merge(s1,s2)
.map(val => samplePromise(val))
.mergeAll()
.catch(err=>console.log('err' , err))
var subscribeTwo = mergedSource.subscribe(val => console.log('Example:', val));
在这个例子中,当 val=3 抛出错误并且不发出其他错误。 如何跳过被拒绝的承诺,我只想发出已解决的承诺值。
【问题讨论】:
标签: javascript rxjs5