У меня есть службы данных, как это:Угловая TypeError: Не удается прочитать свойство «затем» неопределенной
this.myFunction= function(callback) {
var url = rootURL + "path1/path2/service.json";
var promise = $http.get(url);
promise.then(function(payload){
return callback(payload);
});
return promise;
}
Это называется в контроллере, чтобы инициализировать некоторые вещи:
DataService.myFunction(function(data) {
if(data.statusText !== "OK"){
$scope.$worked= false;
}else{
$scope.$worked= true;
}
}
И я получаю "TypeError: Невозможно прочитать свойство 'then' of undefined. Console.log (данные) в обратном вызове показывает ответ 200 «OK» и ожидаемые данные. Я уже искал эту ошибку, и в основном это связано с тем, что она не возвращает обещание в службе. Однако я возвращаю обещание. Устранение ошибки приводит к установке чего-либо в области контроллера в обратном вызове.
Угловая версия: AngularJS v1.3.0-РК-2
Спасибо!
Можете ли вы опубликовать функцию обратного вызова? Также нет необходимости назначать вам вызов на переменную, это уже обещание, и вы могли бы просто позвонить. Затем на нем. –
Не могли бы вы предоставить plunkr или больше контекста? Похоже, что этот код не должен выбрасывать TypeError. – Jon7