De acordo com o documento do AngularJS , as chamadas para $httpretornar o seguinte:
Retorna um objeto de promessa com o método then standard e dois métodos específicos de http: sucesso e erro . O método then recebe dois argumentos: um sucesso e um retorno de chamada de erro que será chamado com um objeto de resposta. Os métodos de sucesso e erro usam um único argumento - uma função que será chamada quando a solicitação for bem-sucedida ou falhar, respectivamente. Os argumentos passados para essas funções são uma representação desestruturada do objeto de resposta passado para o método then.
Além do fato de o responseobjeto ser destruído em um caso, não entendo a diferença entre
- os retornos de chamada de sucesso / erro passaram a ser passados como argumentos de
promise.then - os retornos de chamada transmitidos como argumentos para os
promise.success/promise.errormétodos da promessa
Existe algum? Qual é o objetivo dessas duas maneiras diferentes de transmitir retornos de chamada aparentemente idênticos?
thenretornos de chamada tirar um único argumento - a resposta - enquantosuccesseerrorter componentes individuais da resposta como arguments--data,status,header, econfig.