Rxjs 为什么switchMap在返回简单数组时不需要可观测值
我最初在搜索如何在ngrx效果中返回几个动作,发现需要返回一系列动作。Rxjs 为什么switchMap在返回简单数组时不需要可观测值,rxjs,observable,switchmap,Rxjs,Observable,Switchmap,我最初在搜索如何在ngrx效果中返回几个动作,发现需要返回一系列动作。 然后我注意到,在switchMap中返回一个简单数组与返回从该数组创建的可观察数组一样有效。 例如: timer(1000).pipe(switchMap(val => from([val, val + 1)])).subscribe(val => console.log(val)); timer(1000).pipe(switchMap(val => [val, val + 1])).subscribe
然后我注意到,在switchMap中返回一个简单数组与返回从该数组创建的可观察数组一样有效。
例如:
timer(1000).pipe(switchMap(val => from([val, val + 1)])).subscribe(val => console.log(val));
timer(1000).pipe(switchMap(val => [val, val + 1])).subscribe(val => console.log(val));
我希望第一个能起作用,并且认为它是正确的语法。
我不期望第二个能起作用,但它确实起作用,我想知道为什么。
谢谢,因为在其他展平操作符(
mergeMap
,defaustmap
,…)中,observelike
作为其投影函数的返回类型
可观察类
可以是可观察的
、承诺
或数组
。如果您提供一个数组,它将被转换为一个项目流-基本上与您使用的from
相同