为什么我的Nativescript工作者会拖累繁重的工作?

时间:2019-12-05 17:28:14

标签: nativescript angular2-nativescript worker nativescript-angular

我有一个应用程序在某个时候做一些繁重的工作,这会阻塞UI约10秒钟。由于加载动画和我的服务位于主线程上,因此我决定使用本机脚本工作程序。 UI不再冻结,但是此过程将花费更多时间(100秒对10秒)。

有人对什么地方有问题吗?

我的worker.ts很简单:

import "tns-core-modules/globals";
import { DatabaseService } from "../services/database.service";

const context: Worker = self as any;
const databaseService: DatabaseService = new DatabaseService();

context.onmessage = msg => {
      databaseService.fillWithMissions(msg.data).then((n:number)=>{     
            (<any>global).postMessage("test");
        });
};

在我的组件上收到postMessage时,终止此调用后,我呼叫了另一个类似的工作程序,仅此而已。两者都需要大约100s。

如果我从主要组件调用我的databaseService.fillWithMissions()方法,UI会冻结,但是运行这两种方法大约需要10秒。

0 个答案:

没有答案