Javascript 如何转发jQuery函数的成功和失败回调?
出于几个原因,我想包装一些jQuery函数(即ajax),例如参数的全局配置,更重要的是,能够轻松地交换它 我的问题是,如何“转发”Javascript 如何转发jQuery函数的成功和失败回调?,javascript,jquery,design-patterns,wrapper,Javascript,Jquery,Design Patterns,Wrapper,出于几个原因,我想包装一些jQuery函数(即ajax),例如参数的全局配置,更重要的是,能够轻松地交换它 我的问题是,如何“转发”.done()和.fail()回调?(哪个设计模式负责jQuery的这种行为?) 为了澄清,我想做的是编写一个函数,该函数封装了上述函数,其行为如下: myWrapper({config: "abc"}).done(function( data ) { // do something }); 如果要执行此操作,需要返回ajax调用 function myW
.done()
和.fail()
回调?(哪个设计模式负责jQuery的这种行为?)
为了澄清,我想做的是编写一个函数,该函数封装了上述函数,其行为如下:
myWrapper({config: "abc"}).done(function( data ) {
// do something
});
如果要执行此操作,需要返回
ajax
调用
function myWrapper(config) {
return $.ajax({
url: "http://url.com",
data: config
});
}
然后按照你的建议打电话
myWrapper({ config: "abc" }).done(function(data) {
// call is done
});
显然,我在上面的代码中做了一些假设,但它应该足够清楚地阐明这一点。如果没有,只需问:)这个
$。ajax
函数确实返回一个提供这些方法的函数(done
,fail
,总是,最重要的然后)。只需从myWrapper
函数返回该对象。假设这些方法再次返回相同的promise对象,对吗?因此,如果我在包装器中指定了.fail
方法,我可以将其用作默认行为并返回promise对象?检查他们的文档<例如,代码>完成
和失败
do,然后不执行。
myWrapper({ config: "abc" }).done(function(data) {
// call is done
});