RxJS从typescript中的静态数组创建新的Observable“Array”

时间:2018-02-07 10:32:41

标签: arrays angular typescript rxjs observable

我可以从数组创建observable,但type Observable<number>不是Observable<number[]>

getUsers(ids: string[]): Observable<number[]> {
   const arraySource = Observable.from([1, 2, 3, 4, 5]);
   //output: 1,2,3,4,5
   const subscribe = arraySource.subscribe(val => console.log(val));

   let returnObserable = Observable.from([1, 2, 3, 4, 5]);
   return returnObserable; //error at this line, because of the return type
}

除了from之外还有其他方法可以创建observable吗?

1 个答案:

答案 0 :(得分:3)

如果您希望将整个阵列作为单个排放发出,请改为使用Observable.of

const arraySource = Observable.of([1, 2, 3, 4, 5]);

Observable.from迭代数组并分别发出每个项目,Observable.of将其视为没有任何进一步的逻辑。

或者,你也可以嵌套两个数组,但这可能太混乱了:

const arraySource = Observable.from([[1, 2, 3, 4, 5]]);