我可以从数组创建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吗?
答案 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]]);