У меня есть следующий общий код.Могу ли я улучшить этот фрагмент javascript AngularJS/AJAX?
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 call.
Это работает, но я не могу не задаться вопросом, есть ли лучший способ достичь этого. Это правильно в тот момент, когда я должен думать о том, что я делаю каждый раз, когда я смотрю на него из-за количества вложенных функций.
Это нормально, или есть лучший рекомендованный стиль?