如何在rxjs中为forkJoin的每个observable命名空间
例如
Observable.forkJoin([observable1, observable2])
就像
// This does not work
Observable.forkJoin({'1': observable1, '2': observable2})
答案 0 :(得分:0)
签名:forkJoin(... args,selector:function):Observable
所以选择器可以添加其他信息
const selector = (x, y) => {
return { '1': x, '2': y };
}
Observable.forkJoin([observable1, observable2], selector)
答案 1 :(得分:0)
如果你想要更多的“Rx”方法,你可以使用这样的东西:
/style.css
打印哪些:
const sources = {
'a': Observable.of(1),
'b': Observable.of(42),
'c': Observable.of(3),
};
const keys = Object.keys(sources);
Observable.forkJoin(Object.values(sources))
.mergeMap(results => Observable.zip(keys, Observable.from(results)))
.toArray()
.map(pairs => pairs.reduce((object, pair) => {
object[pair[0]] = pair[1];
return object;
}, {}))
.subscribe(console.log);