2
この返された約束の値にアクセスするにはどうすればよいですか?
$scope.foo=[];
getFoo(url) {
$scope.foo=$http.get(url).then(function (response) {
var foo = [];
//process response to get foo array. Console.log returns as expected here.
return foo;
});
}
...私はシンクロニシティについて明らかにし、基本的な何かが欠けていると確信しているが、私はこれが動作するようになっているかのまわりで私の頭を取得することはできませんが、単に約束オブジェクトに$scope.foo
を設定しているようです。私は何が欠けていますか?私のコードの残りの部分で約束の結果を実際にどのように使用するのですか? foo
INGの
あなたはコールバックでそれにアクセスするので、あなたのスコープにそれを割り当てます。 awaitキーワードを使用できる場合を除きます。プロミスは非同期なので、返されず、その戻り値を同期的に使用することを期待します。それは単に次のチェーンに値を返します。 – ste2425
あなたが書いたように、あなたはすでに応答を処理し、記録する場所を知っています。どうしたの? – Bergi
'$ scope.foo'はもう一つの約束ですので、それを待ってください:' $ scope.foo.then(...) ' – Bergi