Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Qual a diferença do $q para uma promise normal?

Existe alguma diferença em fazer:

service.cadastrar = function(foto) {
    return $q(function(resolve, reject) {
    // Resto do código
    });
};

ao invés de:

service.cadastrar = function(foto) {
    return new Promise(function(resolve, reject) {
    // Resto do código
    });
};
5 respostas
solução!

Angular foi lançado antes do browser suportar nativamente promises. Por isso ele usa o clone da biblioteca q chamada $q. Em teoria, o efeito dos dois são iguais, contudo o $q se integra no ciclo de vida do angular, o famoso digest cycle sendo esperto para chamar a renderização da view quando o model mudar. Outro ponto em favor de $q para o uso padrão de promises, é que como $q é injetado como um serviço, você consegue alterar sua implementação em ambiente de testes. Sendo assim, o mais recomendado é usar $q se você usa Angular.

Tudo certo?

Oi Thiago, vi que você começou o curso de ES6! Obrigado pelo sua sugestão. Eu usei template string no lugar de string simples mesmo :).

Espero que goste do curso, inclusive você aprenderá promise com ES6.

Sucesso e bom estudo!

Oi Flávio, queria agradecer pelo excelente curso de ES6!!! Era o que eu estava precisando para me aprofundar no javascript, e com a excelente didática utilizada ficou ainda mais fácil!.

Valeu.

Muito bom! São dois módulos e o último tem exercícios bônus!