在 Titanium 中创建线程
Create thread in Titanium
我需要在钛中创建线程以完成一些后台工作。我在 google 中四处搜索,发现了这个:
var queue = Ti.Async.createQueue();
var job = queue.dispatch(function() {
});
但现在我不知道如何在第一次执行后让线程保持活动状态(如果这是一个线程)以及如何为每次执行设置延迟?
我个人使用另一种方法在钛中创建"background processes"。
我创建了一个 javascript 文件,其中包含我需要在后台 运行 的元素,并对其应用 "setInterval"(使其无休止地 运行),像这样:
//FILENAME: bgTask.js
function myFunc() {
//Code here
}
setInterval(myFunc, <time in milliseconds>);
现在,我创建了没有视图的控制器来获取它 运行ning。例如,如果我需要它在整个应用程序的后台 运行,我会在 "index.js" 中 运行 一个 "Alloy.createController",但永远不会获得视图或显示它。这将在后台创建并执行控制器。
在"index.js"我用
Alloy.createController("bgTask");
创建后台进程。
如果您只想让后台进程 运行 一次(或一定次数),您可以更改后台进程文件(bgTask.js 在这种情况下)以遵循您的需求,并在每次需要 运行 任务时创建控制器。
要从后台进程中获取结果,您可以使用全局变量或您认为合适的任何其他方法。要使用全局变量,请使用
Ti.App.<varname> = <something>
这样可以为整个应用程序保存值。
适用于 iOS、Android 和 Windows Phone。
抱歉回答晚了,希望对您有所帮助。
我需要在钛中创建线程以完成一些后台工作。我在 google 中四处搜索,发现了这个:
var queue = Ti.Async.createQueue();
var job = queue.dispatch(function() {
});
但现在我不知道如何在第一次执行后让线程保持活动状态(如果这是一个线程)以及如何为每次执行设置延迟?
我个人使用另一种方法在钛中创建"background processes"。
我创建了一个 javascript 文件,其中包含我需要在后台 运行 的元素,并对其应用 "setInterval"(使其无休止地 运行),像这样:
//FILENAME: bgTask.js
function myFunc() {
//Code here
}
setInterval(myFunc, <time in milliseconds>);
现在,我创建了没有视图的控制器来获取它 运行ning。例如,如果我需要它在整个应用程序的后台 运行,我会在 "index.js" 中 运行 一个 "Alloy.createController",但永远不会获得视图或显示它。这将在后台创建并执行控制器。
在"index.js"我用
Alloy.createController("bgTask");
创建后台进程。
如果您只想让后台进程 运行 一次(或一定次数),您可以更改后台进程文件(bgTask.js 在这种情况下)以遵循您的需求,并在每次需要 运行 任务时创建控制器。
要从后台进程中获取结果,您可以使用全局变量或您认为合适的任何其他方法。要使用全局变量,请使用
Ti.App.<varname> = <something>
这样可以为整个应用程序保存值。 适用于 iOS、Android 和 Windows Phone。
抱歉回答晚了,希望对您有所帮助。