2016-08-17 7 views
-1

Ich brauche Hilfe beim Verständnis HTTP verspricht Kette.Rückgabe und Verwendung verkettete http Versprechen von einer Funktion

Ich versuche, das folgende Szenario haben: me

public class Serv2 extends IServ2 { 

    public UseHelpMePromise() { 
     var scope = this; 
     this.serv1.HelpMe() -> function(resultOfInnerHelpMePromise){  
      scope.doLogic(resultOfInnerHelpMePromise) 
     } 
    } 
} 

Ich hoffe, Ihr könnt mir helfen und sagen, welche Keywords:

public class Serv1 extends IServ1 { 

    public HelpMe() : ng.IHttpPromise<any> { 

      $http.post(something) -> function(somethingResult) { 

       // I want to return this promise from this method and use it outside 
       $http.get(somethingResult) 
     } 
    } 
} 

In meinem anderen Service, den ich Serv1.HelpMe Methode verwenden möchten Ich sollte anstelle der '->' verwenden, die ich oben in meinem Code verwendet habe. Sollte ich .then verwenden oder sollte es .success sein?

Darüber hinaus, wann sollte ich eine Return-Anweisung in der HelpMe Methode, wenn ich das innere Versprechen zurückgeben will (The GET-Methode Versprechen)?

Zuletzt sollte ich .catch/.error oder keine von ihnen verwenden?

Antwort

1

Sie sollten es tun, so etwas wie dieses:

public class Serv1 extends IServ1 { 
    public HelpMe(): ng.IHttpPromise<any> { 
     return $http.post(something).then(somethingResult => { 
      return $http.get(somethingResult); 
     }); 
    } 
} 

public class Serv2 extends IServ2 { 
    public UseHelpMePromise() { 
     this.serv1.HelpMe().then(resultOfInnerHelpMePromise => { 
      this.doLogic(resultOfInnerHelpMePromise); 
     }); 
    } 
} 
Verwandte Themen