标题有点奇怪,不太清楚用一句话来解释它的最佳方式……
目前有一个具有3个功能的对象;func、funcSuccess 和 funcFailure。func 包含一个jQuery ajax 请求,this.funcSuccess 作为成功回调,funcError 作为错误回调。func 被传递了一个回调,以便将任何成功值传递回,但是这个回调需要在 funcSuccess 代码中执行。
这是代码:
var Obj =
{ func: function (callback) {
$.ajax(
{ type: 'POST'
, url: '/func'
, success: this.funcSuccess
, error: this.funcError
}
)
}
, funcSuccess: function (res) {
// THIS IS WHERE CALLBACK IS NEEDED
callback(res.thing)
}
, funcError: function (res) {
debug(res)
}
}
我想知道是否有一种更整洁的方法来做到这一点,而不是:
var that = this
$.ajax(
{ type: 'POST'
, url: '/func'
, success: function (res) {
that.funcSuccess(res)
}
, error: this.funcError
}
)
很确定我错过了一些明显的东西,只是今天不完全......