快速提问
如果我有一个 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/