如何检查对象是否是jQuery Xhr对象

时间:2014-03-06 18:33:50

标签: javascript jquery

基本上,我处于这样一种情况,我想检查对象是否是jQuery XHR(jqXHR - 例如由.ajax()请求返回的) - 而不仅仅是常规的Deferred对象。

我已经尝试检查它是否是$ .Deferred的实例,所以它略有不同:

xhrObj instanceOf $.Deferred       //false

我在文档或代码中没有看到它是什么构造函数......无论如何要做到这一点?

1 个答案:

答案 0 :(得分:3)

您可以检查延期应具有的任何属性,例如donefailalwaysstate等。

done似乎是延迟应该具有的东西(承诺也有),这在其他jQuery对象中并不常见。

var def = new $.Deferred();

if ('done' in def)

并检查它是否是承诺

var ajax = $.ajax({
    url : 'something'
})

isPromise = 'abort' in ajax;