【发布时间】:2012-06-22 21:17:12
【问题描述】:
我需要处理 jQueryMobile 项目的 $.ajax() 调用超时。做一些研究,我发现了两种可行的方法。
.error().fail() 似乎是通用的:如果调用因任何原因失败,那么我将返回一个错误堆栈,然后编写函数调用来处理我需要的任何内容它到。
.timeout,似乎让我专门处理超时并指定我可以等待的时间段,如果我没有收到答案,则调用超时并引发错误。
我的问题是在移动环境中,使用.timeout() 调用处理超时会更好吗?或者我应该用 .error().fail() 函数覆盖所有调用并在错误回调中处理超时?
使用移动设备时,预计用户可能会走出覆盖区域,因此如果呼叫永远不会返回,我的直觉会说实现超时功能。错误回调是否有内置超时?我想优雅地处理所有错误,所以似乎一个快乐的媒介会同时实现这两者,并指定超时以直接与超时回调一起工作。
这里有什么我可能遗漏的吗?
【问题讨论】:
-
请注意,
.error已贬值,请使用.fail -
我建议除了添加
fail处理程序之外还使用超时选项。 -
api.jquery.com/jQuery.ajax 提到了它,但它也在api.jquery.com/deferred.fail的延迟对象文档中进行了解释
-
我从未听说过
.timeout()方法。你指的是什么? -
是的,
.fail()回调会在超时后执行。
标签: javascript jquery ajax mobile jquery-mobile