首页 > 解决方案 > 为什么我的 Nativescript 工作人员会减慢繁重的进程?

问题描述

我有一个应用程序在某些时候会做一些密集的工作,它会阻塞 UI 大约 10 秒。由于加载动画和我的服务都在主线程上,我决定使用 nativescript 工作者。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 时,我在终止该组件后调用另一个类似的工作人员,仅此而已。运行两者大约需要 100 秒。

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

标签: nativescriptangular2-nativescriptworkernativescript-angular

解决方案


推荐阅读