基本上,我处于这样一种情况,我想检查对象是否是jQuery XHR(jqXHR - 例如由.ajax()请求返回的) - 而不仅仅是常规的Deferred对象。
我已经尝试检查它是否是$ .Deferred的实例,所以它略有不同:
xhrObj instanceOf $.Deferred //false
我在文档或代码中没有看到它是什么构造函数......无论如何要做到这一点?
答案 0 :(得分:3)
您可以检查延期应具有的任何属性,例如done
,fail
,always
,state
等。
done
似乎是延迟应该具有的东西(承诺也有),这在其他jQuery对象中并不常见。
var def = new $.Deferred();
if ('done' in def)
并检查它是否是承诺
var ajax = $.ajax({
url : 'something'
})
isPromise = 'abort' in ajax;