1
私は、すべてが良好で例外の場合にコントローラに応答を返すRest呼び出しを持っています。デフォルト値を返す必要があります。Angularの約束からの応答データへのアクセス
$http.get(url).then(function(res){
//do some convertion on the res.data if needed
return res;
}).catch(function(error){
//toast the error to the user
return $q.when(/*default value */[]);
});
コントローラからこれをアクセスすると問題が発生します。ここで私は、コントローラ変数にresponse.data
値を代入していますXYZ
ラインで
MyService.getData().then(function(response){
//assign the response to the controller variable
vm.data = response.data; //LINE XYZ
});
。問題は、例外がある場合、$q.when()
は、データが直接response.data
の代わりにresponse
にあるという約束を返します。
promise
を返す方法はありますか?$http
と似ていますか?
アンギュラバージョンが使用:1.6.4