2016-05-16 11 views
0

Ich rufe einen Dienst (printService) von einem Controller, von diesem Dienst einen anderen Dienst (dataService) aufrufen, wo ich emit Methode haben.Empfangen von Daten im Dienst von einem anderen Dienst

Jetzt muss ich die Daten in printService erhalten, die von dataService ausgegeben werden. Ich bin neu bei AngularJS, bitte hilf mir.

+1

Können Sie den Code der Dienste teilen? 'app.factory [params]'? – Sajal

Antwort

0

Anstatt eine emit-Methode beizubehalten, können Sie die Daten aus Ihrer Methode in dataService zurückgeben. Wenn Sie keine Daten zurückgegeben, hören dann für dieses Ereignis emittieren in printService

$rootScope.$on(<your emit method name>, function({ 
    //do your stuff here 
}) 

Erinnern Ereignis auf rootScope zu emittieren.

+0

Muss ich eine beliebige Variable im Bereich hinzufügen, um das Ergebnis der emit-Methode zu erhalten? – Roe

+1

müssen Sie keine Variable setzen. Sie müssen einen Listener behalten. Die obige Funktion wird immer dann aufgerufen, wenn Sie das Ereignis ausgeben. –

Verwandte Themen