我目前正在开发一个基于 NativeScript 和 Angular2 的应用程序。
当我的应用程序通过 HTTP 获取数据时,我的屏幕冻结了一段时间,我想将获取操作放入另一个线程中。
我在网上做了很多搜索,我得到的只是像官方文档一样的javascript代码 -https://docs.nativescript.org/angular/core-concepts/multithreading-model.html https://docs.nativescript.org/angular/core-concepts/multithreading-model.html
有没有办法在“Typescript”(包含对Angular注入HTTP服务的支持)中使用WebWorker实现多线程而不是“Javascript”代码(来自官方文档的代码)
如果有人能给我一些指导或提示,我将不胜感激,如果我能得到一些相关的示例代码,那就太好了。
谢谢。
在 {N} + Angular 中使用 WebWorker 应该不会有任何大的缺点,但请注意,目前 WebWorker 是不“完全”兼容使用 Angular AoT 编译。
对我来说,创建 Web Worker 时(var myWorker = new Worker('~/web.worker.js');
)将应用程序与 AoT 捆绑后会抛出错误。我在社区中看到有人谈论这个问题,解决这个问题的可能方法是编辑 webpack.common.js 并添加一个“已加载”,如下所示:
{
test: /\.worker.js$/,
loaders: [
"worker-loader"
]
}
免责声明:我还没有尝试过这种方法来修复错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)