angular - RXJS Observable 将数组转换为多个值

标签 angular rxjs

我正在发出 Angular 2 HTTP get 请求,作为返回,我得到 Observable<Message[]>我想将这个 observable 转换为多个 emit。 所以假设服务器返回了长度为 3 的 Message 数组。 我想在我的订阅调用中收到 3 条通知(针对数组中的每个值),而不是通过数组收到一条通知。

例如: ['你好','嘿','你好']->'你好','嘿','你好'

我找到了一个可以转换数组的运算符 (Observable.for),但是这个运算符将一个数组而不是一个 Observable 作为参数。

最佳答案

您可以使用 concatAll 运算符来展平数组(mergeAll 也可以)。

Observable.of(['Hello','Hey','Howdy'])
  .concatAll()
  .subscribe(console.log)

查看演示:https://jsbin.com/gaxajex/3/edit?js,console

关于angular - RXJS Observable 将数组转换为多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513990/

相关文章:

javascript - RxJS 只运行一次选择器函数

html下载属性打开新标签而不是下载文件

javascript - 将 Angular 4 应用程序静态 Assets 转发到/PORT 路径而不是主域

angular - 如何在 typescript 中动态构建返回语句?

typescript - Angular 2 的 Http 服务不公开 map() 和其他 RxJS 函数

angular - takeUntil() 可以与 Observable<void> 一起使用吗?

javascript - 如何使用 RxJS 以适当的格式返回 observable 以及额外的单独分页数据

error-handling - 使用 Angular2 异步管道进行错误处理

angular - 模块是否会在延迟加载模块中加载两次

javascript - 将函数分配给 *ngFor 中的事件处理程序