title: How to chain .then functions and callback success function in Angular.js
body: <p>I'm trying to chain nested .then functions and call the success functions, but call back is calling in the starting itself.</p>
  
  <pre><code>//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;
    }
  </code></pre>
  
  <p>Basically i need to callback  "200" response status to other controller  on all service calls are successful and even if one request is failed i need to sent "500". with my code 'response status '200' is calling with the first .then function itself. I want to call this service calls as que</p>
  
  <p>Any help would be appreciated.</p>