<分区>
我有以下通用代码。
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) 闭包“this”以便成功函数可以访问我的对象及其状态
(2) 在内部,我返回一个对数据执行某些操作的函数,但是...
(3) 我希望 AngularJS 捕获成功所做的一切,所以这个解析数据的函数将 进一步 将其操作包装在 $apply 调用中。
这行得通,但我不禁想知道是否有更好的方法来实现这一点。由于嵌套函数的数量,我每次看到它时都必须考虑自己在做什么。
这样可以吗,或者有更好的推荐款式吗?