在NativeScript中以后台运行任务

时间:2016-05-10 17:31:53

标签: javascript android multithreading android-asynctask nativescript

我正在使用 NativeScript 2.0 ,我正在开发 Android 模块,不允许在主线程中运行

是否有可用于在后台线程中运行函数的模块?

或者是否可以在" native"中使用类似AsyncTask类的内容。 JavaScript代码(不是TypeScript!)?

5 个答案:

答案 0 :(得分:5)

nativescript添加了网络工作者。 https://docs.nativescript.org/angular/core-concepts/multithreading-model.html

myWorker.js

在工作人员 require('globals'); // necessary to bootstrap tns modules on the new thread onmessage = function(msg) { postMessage('bye'); }

foo(&self) -> &T

答案 1 :(得分:4)

有关背景信息,您可以查看以下文章:http://developer.telerik.com/featured/benefits-single-threading-model-nativescript/

那就是说,目前你最好的选择是使用这个模块来实现和运行WebWorkers:https://github.com/NathanaelA/nativescript-webworkers

答案 2 :(得分:1)

我认为您的答案可以在本文http://developer.telerik.com/featured/benefits-single-threading-model-nativescript/

中找到

基本上,目前支持的唯一选择是将代码封装到用原生Android编写的插件中。该团队正在努力支持网络工作者的某种线程选项,但目前还没有任何支持。

答案 3 :(得分:0)

Nativescript演示App单线程模型证明了这一点,因为在UI线程上运行所有内容的速度都非常快。但是,如果需要花时间进行操作的后台任务,Nativescript会介绍Workers API

我们知道,作为网络世界中的网络工作者。重要的是要记住,每次启动新的辅助线程时,都会增加应用程序的资源和内存占用。

有关进一步的阅读,您可以参考this博客。

答案 4 :(得分:-4)

那么你应该看看网络工作者:

Web Workers为Web内容提供了一种在后台线程中运行脚本的简单方法。工作线程可以在不干扰用户界面的情况下执行任务。

在此处查看更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers