質問: $resource('setting.json').query(); return res.key; } } }); ``` --- 非同期を同期にするのは難しそうなので、下記のようにしてkeyに対する値を非同期で返すことにしようと思います。 ``` myApp.factory('prop', function($resource) { return { getSetting: function(key) { return $resource('setting.json').query().$promise.then(function(res) { return res[key]; } } } }); ```
回答: 非同期で取得するのなら、上記のソースで言うと、query関数のコールバックまたはres.$promise.thenでJSONが取得されていることが確定するので、その中で処理するのはいかがでしょうか。 同期的に処理するのは少し難しいと思います。 AngularJSのngResourceで同期処理 こちらで質問させて頂いて一応同期的に処理するのは可能でしたが、少し仕掛けが必要でした。