1

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

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

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

必须可以在后台线程或其他东西中执行一个函数,而应用程序的其余部分是完全可访问的。

有人知道怎么做吗?

4

3 回答 3

0

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

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

另一个解决方案是创建一个事件并触发它,因为窗口/视图在单独的线程上执行,向下滚动到此页面上的事件部分

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

Ti.App.addEventListener("doLongTask", function () {
    // doing long task...
});
于 2010-10-26T23:15:12.247 回答
0

只需将您的代码放在 setTimeout 中:

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

行为就像一个线程。

于 2010-10-25T18:23:02.987 回答
0

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

于 2012-07-19T20:50:39.107 回答