duc*_*cin 8 javascript observable rxjs
鉴于这种可观察性
Rx.Observable.of([1,2,3,4,5])
Run Code Online (Sandbox Code Playgroud)
它发出一个单独的项目(即一个数组),将这个observable转换为发出5个单项(或者数组包含的内容)的运算符是什么?
示例已启用.of,但通过promises获取数组也是一样,可能还有许多其他示例.不建议更换of与from
我不能想到现有的操作员这样做,但你可以做一个:
arrayEmitting$.concatMap(arrayValues => Rx.Observable.merge(arrayValues.map(Rx.Observable.of)))
Run Code Online (Sandbox Code Playgroud)
或者更简单
arrayEmitting$.concatMap(Rx.Observable.of)
Run Code Online (Sandbox Code Playgroud)
或者最短的
arrayEmitting$.concatMap(x => x)
Run Code Online (Sandbox Code Playgroud)
这是未经测试的,所以让我知道这是否适合你,并使用Rxjs v4 API(特别是最后一个).基本上这个:
concatMap)您还可以使用flatMap运算符(/sf/answers/2256922041/):
Observable.of([1, 2, 3, 4])
.flatMap(x => x)
.subscribe(x => console.log(x));
// output:
// 1
// 2
// 3
// 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6296 次 |
| 最近记录: |