appcelerator - 在后台执行功能?

时间:2010-10-25 18:20:24

标签: javascript appcelerator

几乎完成了我的第一个钛开发者应用程序,然而,最大的问题(缺乏文档)是在后台执行功能的能力。

我有一个函数,它基本上只查询外部json文件,然后循环遍历它,在数据库中插入大约150条记录。这完全挂起了应用程序直到完成。

我已经尝试了一个jquery异步循环插件,虽然应用程序的其余部分仍然非常慢/对任何命令做出响应,但它仍然有效。

必须能够在后台线程中执行某个功能,而其他应用程序完全可以访问。

任何人都知道怎么做?

3 个答案:

答案 0 :(得分:1)

我认为自从你提出这个问题已经有一段时间了,但我今天遇到了同样的问题,我使用以下代码解决了:Background function Acppcelerator

答案 1 :(得分:0)

只需将您的代码放入setTimeout:

setTimeout(function (){
  /* your code */
},0);

行为就像一个线程。

答案 2 :(得分:0)

此处的一个解决方案表明特定功能将在以后的版本中提供

http://developer.appcelerator.com/question/68231/background-thread--timer-thread--service-thread

另一种解决方案是创建一个事件并将其关闭,因为Windows /视图在单独的线程上执行,向下滚动到此page上的事件部分

// fire  the event for the task
Ti.App.fireEvent("doLongTask");

Ti.App.addEventListener("doLongTask", function () {
    // doing long task...
});