1

我正在为Android开发一个原型Phonegap应用程序,其中我有几个(xml)列表,这些列表是通过“Java层”中的restful获取的。获取和解析这些列表可能需要一些时间。我在 UI 线程中运行所有内容,但决定采取下一步并将此处理移动到 AsyncTask 子类,并且一切都“异步正常”工作。我的问题是,使用 AsyncTask 真的有效还是我应该以某种方式(还没有完全想到如何)异步调用 Cordova exec 函数?我问这个的原因是因为我们最终也会为 iOS 和 WP 开发相同的应用程序(因此使用 Phonegap),我认为如果我用 Java 编写异步调用,我还必须用 C# 编写它们和Objective-C。但是,如果可以通过 Javascript/jQuery 使其异步运行,那不是更好吗,因为它可以节省我在其他平台上编码的时间?就像我之前说的,它与 AsyncTask 一起工作得很好,我不太确定是否有可能只用 JS/jQ 实现相同的行为(我远不及你所说的这两个专家)但应该它是一种有效的方法还是 JS 最终会成为瓶颈?

PS:我知道使用 AsyncTask 是 Android 的主要功能,但我不知道其他两个的行为(目前)。

4

1 回答 1

2

除非您将它们指定为同步,否则 JavaScript 中的 AJAX 请求本质上是异步的。您应该希望使用 AJAX 功能来执行这些任务。即使您计划对 ReST 响应的结果进行本地处理,它也会减少使用 JavaScript 执行 ReST 请求的本地代码量。

既然你说你对 JS 和 jQuery 比较陌生,这里有一些参考资料可以开始学习 AJAX。任何超出此范围的问题都应该在 SO 的某个地方彻底解决。

https://developer.mozilla.org/en-US/docs/AJAX

http://api.jquery.com/jQuery.ajax/

于 2013-01-28T22:10:32.830 回答