【发布时间】:2018-11-09 19:15:16
【问题描述】:
相当于什么
array.forEach(element => {
array.forEach(element2 => {
//do something with element and element2
});
});
在 rxjs 中?
目前我是这样“解决”的
switchMap(array => from(array).pipe(
tap(element => {
array.forEach(element2 => {
//do something with element and element2
})
})
)
或
let globalArray = [...someObjects];
of(globalArray).pipe(
mergeMap(array => array),
tap(element => {
globalArray.forEach(element2 => {
//do something with element and element2
})
})
)
(在实际代码中globalArray是一个传递给函数的数组)
但这在 rxjs 中感觉不是正确的方法。
【问题讨论】:
-
你的第二个例子有点奇怪。来自
mergeMap的array变量不在tap函数的范围内。而这个mergeMap仅在array实际上是数组的可观察对象时才有效,这将要求主题是数组可观察对象的可观察对象。 -
你是对的。当我为 SO 简化第二个示例时,第二个示例出错了。
-
没有等价物,因为这与 rxjs 无关。
标签: rxjs