Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

then encadeado?

Porque no service se utiliza then e no controller utiliza then novamente. Fiquei um pouco confuso quanto a isto, poderia explicar?

Service

realizarLogin : function(dadosDoLogin){
            return $http.get(url + "/login", dadosDoLogin).then(function(response){
                return response.data;
            })
        }

Controller

CarroService.realizarLogin(dadosDoLogin).then(function(dados){
            $state.go('listagem');
        }, function(erro){
            $ionicPopup.alert({
                title : "Opa!",
                template : "E-mail ou senha incorretos"
            });
        });
1 resposta
solução!

Opa, é que o service retorna um promise com o valor relativo ao que foi retornado pelo servidor. O seu controller, para consumir o valor dessa promise, precisa chamar o then dela.