2016-05-02 19 views
1

私のアプリでは、私は六角形を使用しています、私は(私は平らな$ http要求から変換した)そのような方法があります。 そして私は、約束事で正しく脚を使う方法を知らない。どのように可能ですか?約束と遅延を使用して(延期)

var test = function(){ 
var data = '{"Office":"' + office + '"}'; 
var deferred = $q.defer(); 
var person = Restangular.one('persons', id) 
$scope.person.patch(data).then(function (response) { 
    deferred.resolve(response); 
},function (err, status) { 
    deferred.reject(status); 
}); 
return deferred.promise; 
} 


var runIt = function(){ 
    test.then(...)... 
} 

答えて

1

あなたは単に代わりに新しいカスタム約束を作成するRestangular.onepatchメソッドによって返された約束を使用することができます。

は、ここに私のコードです。

コード

var test = function() { 
    var data = '{"Office":"' + office + '"}'; 
    var person = Restangular.one('persons', id); 
    //returned promise 
    return person.patch(data).then(function(response) { 
     return response.data; 
    }, function(err, status) { 
     return response.status; 
    }); 
} 

test().then(...) 
+0

しかし、私はangular.jsを取得:11706 TypeError例外:プロパティを読み取ることができません 'し、' 未定義 のはtest.thenで私の更新されたコード – brabertaser19

+0

(...)を確認してください。.. – brabertaser19

+0

@ brabertaser1992更新されたものを見ると、基本的に '$ scope.person'を' person'に改名する必要があります。人が$ scopeに存在しないのでjavascript変数です。私はあなたのコードでどのように見えるか、私の答えを更新した参照してください。 –

関連する問題