26
只是想知道Observable.combineLatest
和Observable.forkJoin
之间有什么不同?据我所知,唯一的区别是forkJoin
期望Observables完成,而combineLatest
返回最新值。Rxjs:Observable.combineLatest vs Observable.forkJoin
只是想知道Observable.combineLatest
和Observable.forkJoin
之间有什么不同?据我所知,唯一的区别是forkJoin
期望Observables完成,而combineLatest
返回最新值。Rxjs:Observable.combineLatest vs Observable.forkJoin
forkJoin
不仅需要完成所有输入可观测量,还会返回一个可观测量,该可观测量产生一个单值,该单值是由输入可观测值产生的最后一个值的数组。换句话说,它等到最后一个输入的observable完成,然后产生一个值并完成。
与此相反,combineLatest
返回一个Observable,一旦所有输入可观察项产生至少一个值,每次输入可观察项都会产生一个新值。这意味着它可能有无限的价值,可能无法完成。这也意味着输入可观测量在产生一个值之前不必完成。
@GregL是否有一个像forkJoin一样工作的函数,但也可用于失败http调用? – Tukkan
@Tukkan,我会链接一个从错误恢复到每个http observable的操作符,以便为错误中的每个请求定义要使用的值,而不是查找将组合多个可能会出错的observable的操作符我不确定这样的运营商是否存在)。从错误中恢复的操作符包括'.catch()','.onErrorResumeNext()'和可能的'.retry()'(如果Http调用可能间歇性失败)。 – GregL