вообще очень странно выглядит эта запись
из сервиса, мне кажется, нужно возвращать промис и обрабатывать его
попробуй сделать так (немного личной практики)
сервисrecovery: function(model){
var request = $http.put(recoveryUrl.uriRecovery, {Email: model.Email, CaptchaHash: model.captchaHash, CaptchaValue: model.captchaValue});
return request.then(function(success) {
return success;
}, function(error) {
return error;
})
}
контроллер (не полный вариант кода)$scope.recovery = function () {
recovery.recovery($scope.model).then(
function (response) {
if (typeof response.status === "number") {
if (response.status === 200) {
$scope.recoverySuccess = localizedMessages.get("user.register.success");
} else {
if (typeof response.data === "object"){
if (typeof response.data.errorCode === "number") {
if (response.data.errorCode !== 0) {
recoveryError = response.data;
что тут происходит?
в сервисе инитится запрос на сервер, данные возвращаются в контроллер по средствам отложенного объекта (промис), в контроллере я произвожу резолв промися и выковыриваю из него данные
в твоем случае, происходит почти тоже самое, только ты все это оборачиваешь в функцию-хелпер success, которая резолвит "удачный" промис.
я вот подумал, а может быть тебе стоит объявить $scope.carsList до того как ему будет присвоено значение???
воспользоваться замыканием?!