我有一个进行REST调用的服务。当其余的呼叫完成时(即数据可用),我想调用处理该数据的服务功能。
.service('EventService', function(eventRestApi, $scope) {
var internalData = { messages : [], headers: [], consolidatedEvents : {} }
return {
loadEvents : function(beginTimeMillis, endTimeMillis) {
this.getEvents(beginTimeMillis, endTimeMillis, internalData, null)
.then(function(result){
internalData.consolidatedEvents = this.consolidateEvents(internalData.events)
})
},
getEvents : function() {...},
consolidatedEvents : function() {...},
}
我收到错误消息,指出this
没有consolidateEvents
。如何在回调中访问我的服务中的功能?我接近这个问题了吗?
答案 0 :(得分:2)
在回调中,'this'成为你的回调,所以要访问它,你可以在变量中链接父范围。
我建议:
.service('MyService', function () {
var that = this;
return {
myCallback : function () {
that.myMethod();
}
}
});