私は現時点で約束を持って少し脳を持っています。次のコードを考える
:
$scope.getData = function(user) {
return $http.post('/endpoint', "some post data", { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } })
.success(function (response) {
var myThing = { stuff: response.infoData };
localStorageService.set('myData', { stuff: response.infoData });
return myThing;
});
};
は成功コールバックから返されるmyThingオブジェクトです:
- は$ scope.getDataメソッドの結果として返され、または
- は無視され、どこにも失われませんか?
私が理解から:
- $ http.postは約束ですので、それは非同期に解決してから成功メソッドが実行されたときに成功メソッド
- を実行し、それがmyThingオブジェクトを返します。これは魔法の代わりに$ http.post promise全体を置き換えるものではありません
これは間違いありませんか?私が紛失しているものがあるか、成功の方法でオブジェクトを返すことに何らかの利益があるか、またはリターンが不必要なのでしょうか? (これはコードが改善できることをよく知っていますが、なぜ誰かがこれを書いたのか、それとも完全に間違いだったのかを特定しようとしています)
ありがとうございますが、私は**具体的に**あなたが成功メソッド内でのリターンを呼び出す場合どうなるかを探しています。 (答えのサンプルコードでは、getDataは実際にmyThingを返しますか?これは成功の代わりにあなたが使っているからですか?それは約束とコールバックの代わりに約束のチェーンなので、これはですか?) –
@HenryC私は更新された説明は答えについての明確化に役立つと思います..ありがとう:-) –