在Sencha Touch应用程序中自动刷新列表

时间:2012-03-14 07:15:06

标签: multithreading sencha-touch refresh

我正在开发一个简单的聊天应用程序,当我点击REFRESH按钮时,我可以查看更新的数据,但是我可以定期从服务器刷新数据(因为我的聊天远程存储在数据库中)

提前致谢。

4 个答案:

答案 0 :(得分:8)

使用DelayedTask类Sencha Touch:

//create the delayed task instance with our callback
var task = Ext.create('Ext.util.DelayedTask', function() {
    //load the list's store here. The list will be automatically updated
    listComp.getStore().load();    // Assuming your list component is "listComp"
    listComp.refresh();    

    // The task will be called after each 10000 ms
    task.delay(10000);
}, this);

//The function will start after 0 milliseconds
//so we want to start instantly at first
task.delay(0);

//to stop the task, just call the cancel method
//task.cancel(); 

这适用于您的情况。

答案 1 :(得分:0)

你只需要定期调用你的refresh()函数吗?

因此,您只需在setTimeout("refresh()", 1000);功能的末尾添加refresh()即可。然后你只需要在你的应用启动时调用它。

希望这有帮助

答案 2 :(得分:0)

也许您会对聊天应用程序中的套接字服务器连接感兴趣。服务器将在服务器数据更改时通知您的客户看看http://socket.io/

答案 3 :(得分:0)

请看这个。 它将为每个(您设置的时间)调用该函数。 http://www.sencha.com/forum/showthread.php?194202-Autorefresh-List-with-DelayedTask