我不知道如何去回覆承諾。我試圖在嵌套方法返回的結果,但更願意返回結果有兩種不同的方法如圖所示算賬:
$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;});
}
}
寧願解決下面的例子:
$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
}
目前我我越來越:「類型錯誤:無法讀取屬性‘然後’未定義 的」
感謝所有
對於第一種方法,我添加$ Q在我的控制器,但現在收到錯誤:類型錯誤:$ q是不是一個函數:.controller( 'SelectUserController',[ '$範圍', 'PubSub的',「Pnotify ','Common.InfiniteListService','SelectUserService','Restangular','$ q', 函數($ scope,pubSub,pnotify,InfiniteListService,selectUserService,restangular,$ q){ –
問題是我想要執行一些邏輯與響應:例如;當承諾被解決時,我想檢查額外的邏輯。 –
isNil將工作,因爲我只有在帳戶不爲空時調用方法。 –