我有以下通用代碼。我可以改進這個AngularJS/AJAX javascript代碼片段嗎?
MyClass.prototype.doSomething = function() {
$.ajax({
url: turl,
dataType: 'jsonp',
success: function (_this) { //closure
return function (data) {
_this._angular_scope.$apply(function() {
_this.property = // extract stuff from 'data'
_this.analyzeContent() // do more stuff with it
})
}
}(this)
})
}
基本上,這只是一個普通的AJAX調用。有一個...
(1)關閉了「這個」,這樣的成功函數可以訪問我的對象和它的狀態
(2)裏面,我返回的數據進行一些功能,但是...
(3)我希望AngularJS能捕獲成功的所有東西,所以這個解析數據的函數進一步將它的動作包裝在$ apply調用中。
這有效,但我不禁想知道是否有更好的方法來實現這一點。這是正確的,因爲嵌套函數的數量,我必須考慮每次看到它時所做的事情。
這樣好嗎,還是有更好的推薦風格?