Ich bin mir nicht sicher, wie man das Versprechen zurückgibt. Ich habe versucht, das Ergebnis in einem verschachtelten Verfahren zurückzukehren, aber würde es vorziehen, um das Ergebnis in zwei verschiedenen Methoden zurückzukehren, wie später gezeigt:
$scope.relatedContacts = function (accountId) {
if (!lodash.isNil(accountId)) {
try {
return restangular.one('user')
.one('contactimages')
.get({ 'mappedRelatedContactsPath': $scope.mappedRelatedContactsPath, "account": accountId })
.then(function (response) {
return response.data;});
}
}
Bevorzugen Beispiel unten zu beheben:
$scope.relatedContacts = function (accountId) {
if (!lodash.isNil(accountId)) {
try {
var deferred = $q.defer();
return restangular.one('user')
.one('contactimages')
.get({ 'mappedRelatedContactsPath': $scope.mappedRelatedContactsPath, "account": accountId })
return deferred.promise;
}
catch (err) {
$scope.contactsPopulated = false;
}
}
}
$scope.relatedContacts().then(function (response) {
//Some logic here
}
Derzeit I bin immer: „Typeerror: Kann nicht Eigentum‚und dann‘undefinierten lesen“
Dank aller
für das erste Verfahren hinzugefügt I $ q in meinem Controller aber Fehler bekommen jetzt: Typeerror: $ q ist keine Funktion: .Controller ('SelectUserController' [ '$ scope', 'PubSub', ‚Pnotify ',' Common.InfiniteListService ',' SelectUserService ',' Restangular ',' $ q ', Funktion ($ scope, pubSub, pnotify, InfiniteListService, SelectUserService, restangular, $ q) { –
Das Problem ist, ich möchte ausführen eine Logik mit der Antwort: zB wenn das Versprechen gelöst ist, möchte ich nach zusätzlicher Logik suchen –
Die isNil funktioniert, weil ich die Methode nur aufruft, wenn das Konto nicht null ist. –