Como encadear funções .then e sucesso de retorno de chamada no Angular.js
Estou tentando encadear funções aninhadas .then e chamar as funções de sucesso, mas a chamada de retorno está chamando na própria inicialização.
//public method fn
function fn(callback) {
//calling the 1st API request
fn1()
.then(function(response) {
//2nd API request function
call1(response);
}, function(error) {
return $q.reject({
responseStatus: error.status
});
})
// Returning response
.then(function(response) {
callback({
responseStatus: 200
});
}, function(error) {
callback({
responseStatus: 500
});
});
}
function call1(response) {
//2nd API
fn2()
.then(function(response) {
//3rd API request function
call2(response);
}, function(error) {
return $q.reject({
responseStatus: error.status
});
});
}
function call2(response) {
//3rd API request
fn3()
.then(function(response) {
return lastfunction();
//here i need to callback the success response status
}, function(error) {
return $q.reject({
responseStatus: error.status
});
});
}
function fn1(){
//some code
}
function fn2(){
//some code
}
function fn3(){
//some code
}
//Controller
//i will show response status callback here
if(response.status ==200){
show output;
}
else{
//response 500
show errors;
}
Basicamente, eu preciso retornar o status de resposta "200" para outro controlador em todas as chamadas de serviço com êxito e, mesmo se uma solicitação falhar, preciso enviar "500". com o meu código, 'status de resposta' 200 'está chamando com a primeira função .then. Eu quero chamar esse serviço de chamadas como que
Qualquer ajuda seria apreciada.