失败vs$.ajax完成/失败



独立异步操作到底应该使用什么;延迟对象还是ajax done()/fail()就足够了?有什么区别?

我知道deferred.when()很有用,因为它可以让我们知道多个异步操作何时完成。但是一个异步操作怎么样?done()/fail()也让我知道它什么时候完成。

$.ajax()方法返回一个$.Deferred()对象。所以你在所有情况下都使用延期。您可以使自己的延迟,但ajax会自动返回相同的值。这只是用jQuery,普通javascript没有这个功能。

$.ajax()将返回以下promise方法:

fail()done()always()then()


Jquery论坛怎么说:

从jQuery 1.5开始,$.ajax()返回的jqXHR对象实现了Promise接口,为它们提供了Promise 的所有属性、方法和行为

关于jQuery $.ajax的详细参考信息,http://api.jquery.com/jQuery.ajax/

来自文档:

jQuery.Deferred()对回调方式进行了一些增强被管理和调用。特别是,jQuery.Deferred()提供了提供多个回调的灵活方式,并且这些回调可以无论原始回调调度是否已经发生。

和:

理解Deferred的一个模型是将其视为一个感知链的函数包装器。

正如您所说,最大的区别在于deferred.when在处理多个请求时非常有用。回答您的问题,对于独立操作,done()fail()会做得很好,而且更容易实现,在我看来c:

相关内容

最新更新