2016-04-29 154 views
0

我需要在鈦中創建一個線程,以便在背景中進行一些工作。第一次執行以及如何因我設定的延遲每個之後在Titanium中創建線程

var queue = Ti.Async.createQueue(); 

var job = queue.dispatch(function() { 

}); 

但現在我不現在如何保持線程活着(如果這是一個線程):我在谷歌搜索了一圈,發現這執行?

回答

0

我個人使用另一種方法在鈦中創建「背景過程」。

我創建一個包含我需要在後臺運行,並應用「的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。

對不起,遲到的答案,希望這有助於。

+0

我已經想出瞭如何應付它,但你的答案是正確的,所以我接受它。謝謝你的回答 –

+0

很抱歉,如果它來得太晚。一旦我注意到,我已經回答了。 – Crystallize

+0

不用擔心 –