javascript – RXJS如何将Observable转换为Observable

我想采取一个Observable< T []>并将其转换为Observable< T>这样来自Observable< T []>的每个数组.然后分解,然后通过Observable< T>分别发射阵列的各个元素.

这样做有标准的运算符吗?我已经四处寻找但没找到任何东西.谢谢.

在指向concatMap / flatMap的方向后,我提出了以下一般解决方案:

var source: Observable<T[]>;
...
var splitSource = source.flatMap<T>((x:T[]) => { return Rx.Observable.fromArray(x); });

解决方法:

您可以像这样使用concatMap:

function identity (x) {return x}

var obs_of_array$= Rx.Observable.return(['1','2','you got it'])
    .concatMap(identity)

这是有效的,因为concatMap还接受数组(和observables和promises)作为您作为参数传递的函数选择器的返回值. Jsbin here,文档here

因此,作为参数传递的数组成为选择器函数的返回值,然后由concatMap运算符展平,同时遵守数组的顺序.

上一篇:javascript – 以角度6重试HTTP请求


下一篇:javascript – Angular 6:类型’typeof Observable’上不存在属性’fromEvent’