在序列内部使用可观察序列外部的变量时会出现什么问题?
例如:
updateCar(newCar: any): Observable<any> {
return of(...).pipe(
switchMap(
(value: any) => {
if (newCar.has4Wheels && value.lovePizza) {
// return a 4 wheel observable
} else {
// return a not 4 wheel observable
}
}
),
switchMap(
(value: any) => {
if (newCar.has4Windows && !value.lovePizza) {
// return a 4 window observable
} else {
// return a 2 window observable
}
}
)
);
}
我知道上面的例子很奇怪,但是我只是用它来问这个问题。
在序列内部使用newCar
可能会出现什么问题,例如在序列外部使用示例中的示例?如果没有问题,那就太好了!只是觉得我的用法有问题。
答案 0 :(得分:1)
我什么都没想到(至少在您不修改newCar
的范围内)。
确实可以重写它,并从以下内容开始:
of([whatever, newCar])
.pipe(
switchMap(([whatever, newCar]) => {
...
})
)
...
但是我认为这是没有必要的,只会使事情变得更加复杂而没有任何实际好处。