jol*_*olt 10 javascript jquery
正如标题已经提到的那样,有没有办法检查变量是否是真正的jqXHR?
我是说(想象):
var resource = $.get('/resource');
if (resource instanceof jqXHR)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
我试图解决的实际问题是我正在研究的模态插件.
$('#element').modal({
content : function()
{
return $.get('/resource');
}
});
Run Code Online (Sandbox Code Playgroud)
并且,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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1619 次 |
| 最近记录: |