2016-08-16 15 views
2

iは配列を返し、この工場タールコール外部APIをしました。 場所を配列として初期化し、places.push(data.response)を使用しますが、配列の配列を返します。 私を助けることができますか?Angularjs工場HTTP戻り値

+0

あなたの約束が拒否されたように見えます。なぜあなたの変数はまだ空文字列なのですか?これを試してみてください:request.then(function(data){ places = data.response }、関数(error){console.log(error);}); –

+0

エラーなし... console.log(空白)の空の文字列のみ。 –

+0

ハハハ、私はその細部を見落として信じられない、@トッドミラーは右です:) –

答えて

2

ここにあなたのログは、$httpコールが返ってくるという約束の範囲外です。基本的には、約束が解決される前にログが実行されるため、ログの実行時に文字列はまだ空です。

+0

私はそれを推測していた。どのように私は、正しい場所が機能していないことを約束することができますか? –

+0

それはあなたが値で何をしたいかによって決まります。一般的なパターンは、 '$ http'コールによって生成された約束を返すことです。これにより、約束が解決されるまで、アプリケーションの他の部分が実行を停止するようになります。通常、これはルートの 'resolve'プロパティを処理します - コントローラは約束が解決されるまでコントローラが起動しないので、' all'または 'get'関数を呼び出すときに確実になります。' places'は正しい値。 –

関連する問題