Sencha Touch:实现轮询

3
我正在使用Sencha Touch为Microsoft Lync编写移动聊天客户端。
在服务器端,我使用来自lyncwidget codeplex项目的JSONP-enabled WCF服务。调用该服务后,WCF服务以JSON数据形式返回在服务器上排队的任何消息。
理念是客户端定期轮询服务以检索任何新消息。
如果可能的话,我想直接在我的Store的Proxy中实现轮询行为。因此,在“ChatMessagesStore”中。
有关如何以整洁的方式实现此功能的任何建议吗?
谢谢。
附注:我是Sencha Touch的新手。
2个回答

2
最好的做法是扩展Ext.data.ScriptTagProxy类。然后在内部添加一个名为"pool-interval"的属性和一个调用sync()函数并自我调用的方法。例如:
makeRequest(){
  this.sync();
  setTimeout("this.makeRequest()",pool-interval);
};

这样,如果您有多个类似代理的店铺,您就不必费心设置多个setInterval调用,并在更改商店名称时需要更改它们。

1
如果你要让makeRequest调用自身,那么最好使用setTimeout而不是setInterval...? - Rom1

1

经常调用存储器上的 sync() 方法怎么样?

比如,调用

 setInterval("MyApp.stores.myStore.sync()", 3000);

每三秒同步您的商店。

关于移动应用程序轮询的简短备注:它会像疯狂一样耗费电池。有没有替代方案/解决方法的想法?


同步方法是自定义的吗?我似乎找不到任何关于它的文档。 - Thomas Stock
不是这样的,请查看 Ext.data.Storesync 方法的定义。 - Rom1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接