2016-11-08 3 views
0

Ich versuchte die $q Dienst wie folgt, aber der Browser immer noch nicht auf die Antwort warten. Ich habe schon fast einen Tag damit verbracht, eine Lösung zu finden, ich habe auch versucht, die $timeout.Lassen Sie den Browser warten auf API Antwort/http Anruf Antwort in angularjs

login.controller("loginCtrl", ['$scope', '$rootScope', '$filter', '$window', '$http', 'APIService', 'localStorageService', 'doAlert', '$translate', '$q', '$timeout', 

    function ($scope, $rootScope, $filter, $window, $http, APIService, localStorageService, doAlert, $translate, $q, $timeout) { 
    $scope.isLogOut = true; 

    $(window).unload(function() { 
     $rootScope.$broadcast('onUnload'); 
    }); 
    $scope.$on('onUnload', function (e) { 
     var deferred = $q.defer(); 
     $http.get(url). 
       success(function (data, status, headers, config) { 
        deferred.resolve(data); 
       }). 
       error(function (data, status, headers, config) { 
        deferred.reject(status); 
       }); 
     return deferred.promise; 
    }); 
+0

gerade Sayin: '$ http'already gibt ein Versprechen. Es sollte also kein '$ q' nötig sein. – Aer0

+0

versuchte dies auch. Aber kein Glück $ http.get (url) .success (Funktion (Antwort) { response.data; }); – user2617611

+0

Verwenden Sie '$ http.then (Funktion (Erfolg) {...}, Funktion (Fehler) {...})' anstelle von Erfolg und Fehler. Sie können auch die Dokumentation ansehen: https://docs.angularjs.org/api/ng/service/$http – Aer0

Antwort

0

Hier ist ein Beispiel, wo ich einen Rückruf verwenden, um Daten von meinem Programm zu bearbeiten zurück

function get(url, callback, obj) { 
    $http.get(url, obj) 
    .then(function (response) { 
     callback(response.data); 
    }, function() { 
     notification.error(PLEASE_CONTACT_SYS_ADMIN); 
    }); 
} 
+0

Ich bekomme angular.min.js: 81 ReferenceError: Callback ist nicht definiert. Können Sie bitte ein wenig mit meinem Angular $ scope. $ On ('onUnload') Event-Handler ausarbeiten. Irgendwie neu dazu. – user2617611

Verwandte Themen