2017-03-01 3 views
0

Ich habe $scope.participants = [] als globale Variable. Mein Problem ist, wenn ich diese Variable in einer anderen Funktion verwendet habe, nachdem ich die folgende Funktion aufgerufen habe. $scope.participants ist leer. Allerdings ist es nicht bei der Überprüfung der response.data.

$scope.getParticipants = function(seminar_id,seminar_name,seminar_code) { 
    $http({ 
     method: 'GET', 
     dataType: 'JSON', 
     params: { 'seminar_id' : seminar_id }, 
     url: 'getParticipants' 
     }).then(function(response) { 
      $scope.participants=response.data; 
     }); 
    } 
+0

sehen Sie irgendwelche Fehler in der Konsole – Sajeetharan

+0

'$ http' ist der asynchrone Aufruf. '$ scope.participants' ist leer, bevor' $ http' die Daten zurückgibt. –

+0

Überprüfen Sie, ob dies Ihr Problem lösen kann. http://stackoverflow.com/questions/18421830/how-to-wait-till-the-response-comes-from-the-http-request-in-angularjs –

Antwort

0

Sie können diese Arbeit plnkr überprüfen Sie, bis Ihr Versprechen Entschlossenheit warten müssen.

+0

Es gibt keine Sicherheit, dass es in 1 Sek. Abgeschlossen wird. –

+0

Ich habe das auch versucht und es würde nicht in 1 Sek. Abgeschlossen sein. – dan

+0

Rückruf hinzugefügt, um einen Funktionsaufruf im Bereich nach Abschluss des Async-Aufrufs zu benachrichtigen. check aktualisiert [plnkr] (https://plnr.co/edit/ATlhJvXgW3K0JVMqQCJm?p=preview) –

Verwandte Themen