約束を返す方法についてはわかりません。私は、ネストされた方法で結果を返すようにしようとしたが、その後示すように、2つの異なる方法で結果を返すことを好むだろう:
$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
}
現在、私は、取得しています:「例外TypeError:未定義の の 『を』プロパティを読み取ることができません」consistenについて覚え、すべてのすべての
私は私のコントローラで$ qを最初に追加する方法のため、今エラーを取得:TypeError例外:$ qは関数ではありません。( 'SelectUserController'、[ '$スコープ'、 'PubSubの'、「Pnotify .controller '、' Common.InfiniteListService '、' SelectUserService '、' Restangular '、' $ q '、 関数($ scope、pubSub、pnotify、InfiniteListService、selectUserService、矩形、$ q){ –
問題は実行したいですか –
アカウントがnullでない場合にのみメソッドを呼び出すため、isNilが機能します。たとえば、プロミスが解決されたときに、ロジックが追加されていないかどうかチェックします。 –