Ich möchte eine Behandlung durchführen, sobald die Funktion, die ich angerufen habe, die einen Aufruf an den Server ausführt, erledigt ist.Angularjs: Verwenden Sie eine Funktion, die ein Versprechen zurückgibt
Ich habe versucht:
vm.myFunction().$promise.then(function(){
//some treatment done once vm.myFunction() is finished....
})
vm.myFunction = function(){
var deferred = $q.defer();
myResource.get(function(result){
vm.results = result;
for (var i=0; i<vm.results.length;i++){
if (vm.results[i].state == 'open'){
deferred.resolve();
return deferred.promise;
}
}
})
};
Aber ich ma ein
angular.js:13294 TypeError: Cannot read property '$promise' of undefined
Wie immer kann ich das tun?
Rückkehr myResource.get (func ...... – rrd
Sie geben nichts aus der Funktion 'return myResource.get()' zurück, auch gibt es keinen Fall, in dem Sie es ablehnen - nur um sicherzustellen, dass Sie nicht in unendliche Wartezeit enden oder ein Timeout hinzufügen – harishr
Sie geben nur das 'myRe zurück source.get (// code) 'Funktion. Und Sie müssen '$ versprechen' nicht verwenden, da Sie das Versprechen bereits zurückgeben. – SaiUnique