0

ここで次のコード スニペットを見つけました。

App.factory('myHttp',['$http',function($http) {
  return function() {
    get: function(url, success, fail) {
      $http.get(url).success(function(response) {
        return response.data;
      }).error(fail);
    }
  };
}]);

この構文は何を意味するのだろうか:

function() {
  get: function(...) { ... }
}
4

2 に答える 2

3

タイプミスのようです。それは間違いなく構文エラーです。ES5 の getter 表記法に似ていますが、それでも、 のようなプロパティ名でのみ使用できますget response() { ... }

おそらく、著者が意図したのは次のようなものでした。

App.factory('myHttp',['$http',function($http) {
  return {
    get: function(url, success, fail) {
      $http.get(url).success(function(response) {
        return response.data;
      }).error(fail);
    }
  };
}]);

これはES5 の getter 表記ではありませんが、 (POST ではなく) HTTP GETgetを参照するという 1 つのプロパティを持つ単純なオブジェクトです。

于 2012-12-30T03:09:39.263 に答える
0

getJavaScriptパーサーがそこでラベルとして解釈することは合理的に確信しています。ラベルはループ制御にのみ有用であり、ここにはループがないため、これは役に立ちません。それでも、それはほとんど合法的な構文です。そうは言っても、Firefoxのインタプリタはデッドコードの無名関数について文句を言うでしょう。

于 2012-12-30T03:29:36.310 に答える