$resourceを利用して、JSONに記述した設定値を取得するとき、
非同期であるため、$resourceの戻り値が解決されません。
$resourceの$primiseにはresolveも無いので、どのように解決しますか?

myApp.factory('prop', function($resource) {
  return {
    getSetting: function(key) {
      var res = $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];
      }
    }
  }
});