检查变量是否是真正的 jqXHR 的任何方法
Any way to check whether a variable is a real jqXHR?
正如标题已经提到的,有没有办法检查变量是否是真正的jqXHR?
我的意思是(虚构):
var resource = $.get('/resource');
if (resource instanceof jqXHR)
{
// do something
}
我正在尝试解决的实际问题是我正在处理的模态插件。
$('#element').modal({
content : function()
{
return $.get('/resource');
}
});
而且,content
变量可以是 string
或 function
。如果是 string
,它将是静态的,在function
的情况下,它将在每次打开模态时运行。
但是,我希望允许content
回调返回jqXHR
或string
。使用字符串非常简单,if (typeof returned === 'string')
,但是jqXHR
呢?
我知道我可以简单地检查string
,如果它不是string
,假设它是jqXHR
,但我希望我的插件尽可能强大,并且不允许使用意外类型。
我建议只检查它是否是一个承诺对象。这将使您的代码更加健壮,因为如果用户需要执行更复杂的操作,他们可以返回自定义延迟对象,或者他们可以简单地返回 jqXHR 以获得相同的效果。
if ($.type(resource) === "string") {
doStuff(resource);
} elseif (resource && resource.promise) {
resource.promise().done(doStuff);
}
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 使用“;这个“;JavaScript原型方法中的关键字
- 序列化数据属性中对象的最可靠方法
- 使用Objective-C的JavaScript注入方法
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- toBoolean方法类似于toString
- 如何在单击复选框后调用控制器方法
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 有条件更新d3.js力图中节点的最佳方法
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- 检查变量是否是真正的 jqXHR 的任何方法