angularjs - RxJS 和 WebWorker

标签 angularjs system.reactive web-worker rxjs

快速提问

如果我有一个 WebWorker有一个返回 Observable<Any> 的函数回到UI代码,如果我再订阅Observable,是在UI线程上运行的observable还是WebWorker线?

我问这个问题是因为我正在用 RxJS 编写一个 Angular2 应用程序,为了提高性能,我希望一些努力工作的 Observables 在 WebWorkers 中运行,将结果流传递给 UI 线程

最佳答案

我假设您的网络 worker 正在通过一条消息将一个 observable 发送回您的主线程。

消息旨在以两种方式使用,您不能发送公开功能的对象。

解决方案是让您的 webworker 发布消息,然后让主线程服务处理这些消息并将它们通过管道传输到一个主题中,它将主题作为 IObservable 公开给您的应用程序。

请记住,网络 worker 消息传递不支持 channel ,因此如果您在应用程序的多个区域使用消息,则需要应用自己的鉴别器。

关于angularjs - RxJS 和 WebWorker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35112913/

相关文章:

angularjs - 排序和过滤的项目有错误的 $index 值

Javascript - 如何在点击时禁用这些星星的颜色变化?

system.reactive - 我如何 DumpLive 长时间运行的进程的结果?

javascript - 获取加载 Web Worker 失败的 HTTP 状态代码

javascript - Web Workers - 如果对象按值传递,则内存使用量会增加一倍

mysql - 是否可以在 Angular.JS 中编写 mysql 查询?

AngularJS : ui grid show multi lines in a cell

c# - 结合依赖的 IObservables

c# - 响应式扩展 BufferWithPredicate

web-worker - 在 web worker 中使用模块脚本