primeiros passos com promessas no angularjs
TRANSCRIPT
Primeiros passos com promessas no AngularJS
O que é isso?
- pendente
- concluída.
- rejeitada.
A promessa é o resultado de uma operação assíncrona e pode ter um dos estados listados abaixo:
PENDENTE
REJEITADA
CONCLUÍDA* Imutáveis
OU
No Angular, as promessas são criadas pelo serviço $q.
● Com base no mecanismo de promessas (Q) de Kris Kowal: https://github.com/kriskowal/q
● Utilizado pela comunidade;
● É integrado com $rootScope;
● É uma versão básica da biblioteca Q contendo os recursos necessários para a comunicação assíncrona.
● Os métodos de API diferidos (apenas o que você precisa saber):
- reject (motivo) - Cria uma promessa que é resolvido como rejeitado pelo motivo passado como um parâmetro.
- resolve(valor) -Resolver a promessa com o valor passado como um parâmetro.
● Os métodos de promessas API (apenas o que você precisa saber):
- then(successCallback, errorCallback, notifyCallback) - chama um dos retornos de chamada de sucesso ou de erro de forma assíncrona, assim que o resultado está disponível.
- catch(errorCallback) - abreviação para promise.then(null, errorCallback).
● Quando a promessa é resolvida com sucesso, a primeira função passada como parâmetro "then" retorna um objeto de resposta.
● Quando ocorre um erro, a função "catch" tem o resultado da operação.
● Com os métodos do serviço $http:
- success - esse retorno será chamado de forma assíncrona quando a resposta estiver disponível.
- error - chamado de forma assíncrona se ocorrer um erro ou se o servidor retornar a resposta com um status de erro.
● Como posso sincronizar múltiplas funções assíncronas e evitar problemas de callbacks?Resposta: Use a função $q.all, para combinar várias promessas em uma única promessa.
● Com o método $routeProvider.when:
Apenas irá redirecionar para "/allNames" quando a promessa "allNamesFactory" for resolvida.
Obrigado!@_cauealves
/cauealves