Typescript 使用';从';和';属于';什么时候使用switchMap?

Typescript 使用';从';和';属于';什么时候使用switchMap?,typescript,rxjs,Typescript,Rxjs,这是我使用RxJS的TS代码: function getParam(val:any):Observable<any> { return from(val).pipe(delay(1000)) } of(1,2,3,4).pipe( switchMap(val => getParam(val)) ).subscribe(val => console.log(val)); 如果我将getParam的代码更改为: fu

这是我使用RxJS的TS代码:

function getParam(val:any):Observable<any> {
        return from(val).pipe(delay(1000))
    }

    of(1,2,3,4).pipe(
        switchMap(val => getParam(val))
    ).subscribe(val => console.log(val));
如果我将getParam的代码更改为:

function getParam(val:any):Observable<any> {
    return of(val).pipe(delay(1000))
}

函数getParam(val:any):可以观察到,因为我没有询问来自
的输入参数。我的问题是
都应该是可见的,是吗?但是当我使用来自
时,
开关映射
会抱怨它没有接收到可观察到的,它只是从数组中获取“1”。希望这能澄清。

抛出的错误不是来自switchMap
getParam(val:any)获取了一个数字,因此from()无法接受它作为输入, 但是当然可以


hostReportError.js:5未捕获的类型错误:
您在需要流的位置提供了“1”。
您可以提供一个可观察的、承诺的、数组的或可观察的。
在subscribeTo(subscribeTo.js:39)
在Module.from(from.js:15)

不是从switchMap引发的错误
getParam(val:any)获取了一个数字,因此from()无法接受它作为输入, 但是当然可以


hostReportError.js:5未捕获的类型错误:
您在需要流的位置提供了“1”。
您可以提供一个可观察的、承诺的、数组的或可观察的。
在subscribeTo(subscribeTo.js:39)
在Module.from(from.js:15)

来自
接受一个
可观察的输入-一个可观察的、
承诺
数组
或可观察的,并发出其中包含的值
of
接受并发出任何值。以下是@cartant的答案可能是重复的,
from
将“包含的”值作为可观察值发出?如果是,那么为什么switchMap不能将其识别为流?中的
接受
可观察的输入
-可观察的
承诺
数组
或iterable,并发出其中包含的值
of
接受并发出任何值。以下是@cartant的答案可能是重复的,
from
将“包含的”值作为可观察值发出?如果是,那么为什么switchMap不能将其标识为流?
function getParam(val:any):Observable<any> {
    return of(val).pipe(delay(1000))
}