在Titanium中创建线程
问题描述:
我需要在钛中创建一个线程,以便在背景中进行一些工作。第一次执行以及如何因我设定的延迟每个之后在Titanium中创建线程
var queue = Ti.Async.createQueue();
var job = queue.dispatch(function() {
});
但现在我不现在如何保持线程活着(如果这是一个线程):我在谷歌搜索了一圈,发现这执行?
答
我个人使用另一种方法在钛中创建“背景过程”。
我创建一个包含我需要在后台运行,并应用“的setInterval”它(使它不休运行)元素的JavaScript文件,像这样:
//FILENAME: bgTask.js
function myFunc() {
//Code here
}
setInterval(myFunc, <time in milliseconds>);
现在,我创建没有视图的控制器让它运行。例如,如果我需要它在整个应用程序的后台运行,我在“index.js”中运行“Alloy.createController”,但从来没有得到视图或显示它。这会在后台创建并执行控制器。
在 “index.js” 我使用
Alloy.createController("bgTask");
创建后台进程。
如果你想有后台进程只运行一个单一的时间(或时间一定次数),你可以改变背景进程文件(bgTask.js在这种情况下),按照您的需求,每次需要运行任务时创建控制器。
要从后台进程获得结果,可以使用全局变量或任何其他您认为合适的方法。要使用全局变量,请使用
Ti.App.<varname> = <something>
这样可以为整个应用程序保存值。 适用于iOS,Android和Windows Phone。
对不起,迟到的答案,希望这有助于。
我已经想出了如何应付它,但你的答案是正确的,所以我接受它。谢谢你的回答 –
很抱歉,如果它来得太晚。一旦我注意到,我已经回答了。 – Crystallize
不用担心 –