angular - 无法从 nativescript worker 访问 Angular 服务

标签 angular multithreading nativescript

我正在按照本教程创建后台线程,
https://docs.nativescript.org/core-concepts/multithreading-model#workers-api

这适用于简单的情况,但后来我有
app.module.ts

@NgModule({
    declarations: [AppComponent],
    bootstrap: [AppComponent],
    imports: [
        NativeScriptModule,
        NativeScriptRouterModule,
        NativeScriptHttpModule,
        NativeScriptFormsModule,
        NativeScriptRouterModule.forRoot(appRoutes),
        LoginModule,
    ],
    providers: [
        HttpService,
        UserService,
        LogService,
        DatabaseService
    ],
    schemas: [NO_ERRORS_SCHEMA]
})

如何在 w.onmessage() 中使用像 UserService 这样的服务,而不使用依赖注入(inject)。或者如何使用带有 w.onmessage() 的可注入(inject)类

最佳答案

不幸的是,你不能。 NS 工作人员在完全不同的上下文中运行,并且没有共享内存。

我建议主要使用 worker 来处理大量数据并将其发送回主线程。唯一的其他选项是依赖注入(inject)和复制代码。

关于angular - 无法从 nativescript worker 访问 Angular 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51720899/

相关文章:

nativescript - 如何在 NativeScript 上添加自定义图标字体

javascript - (更改)angular2 中的事件 Hook

c++ - 如何找到特定的 dll 是否是线程安全的?用于此的 Ant API/工具?

azure - 需要修复在 Azure 应用服务上运行的 Angular 2 的路由问题

c# - 当没有更多可用线程时 .ForEach 循环是否阻塞

ios - 在嵌套 block 中保留对象的正确方法是什么

javascript - appium如何自动在textField中输入内容

android - 由于gradle内存问题,我无法构建Nativescript应用程序(Android)。

javascript - 使用 *ngFor 和 ContentChildren 时出现 ExpressionChangedAfterItHasBeenCheckedError

angular - 如何使用angular 2上传文件?