2017-04-03 1 views
1

Ich verwende den Service $q, um auf ein Versprechen zu warten, aber der Service, der das Versprechen definiert, wird nach der Richtlinie mit der $q getroffen Bedienung. Wenn also der Service $q aufgerufen wird, ist das Versprechen undefined.

In der Richtlinie (zuerst getroffen wird)

this.qService.all([this.summaryVm.positionsServicePromise]).then((result: Array<any>) => {...} 

Im Service (Hit zweite wird)

this.summaryVm = vm; 
var positionServicePromise = this.$http.get(this.url); 
this.summaryVm.positionsServicePromise = positionServicePromise; 

Ich brauche die $http.get() im PositionsService genannt zu werden, und es scheint, dass die $q Service ignoriert die alle .then, wenn das Versprechen undefined ist. Gibt es eine Möglichkeit, das Versprechen vorübergehend zu definieren, wo alle .then auf das Versprechen wartet, zu aktualisieren?

+0

können Sie mehr von Ihrem Code teilen, um den Kontext zu bekommen? – tanmay

Antwort

0

Injizieren Sie den Service in die Direktive und dann wird der Service zuerst getroffen.

Verwandte Themen