angular で $http のカスタム ラッパーを作成しようとしています。コードの概要は次のとおりです。
angular.module('jotted_resource', ['ng'])
.factory('jotted_resource', ['$http', 'communicationStatus',
function($http, cs) {
function jResourceFactory(url){
function jResource(value){
var self = this;
this.query = function(callback){
var value = [];
return $http.get(url).then(function(response){
var data = response.data;
for(var i in data){
value.push(new jResource(data[i]))
}
});
return value;
}
}
return jResource;
}
return jResourceFactory;
}
]);
しかし、次のようなコード例:
app.factory("label", ["jotted_resource", function(jotted_resource) {
var label = jotted_resource("api/labels");
var all = label.query();
...
次のエラーをスローします。
TypeError: オブジェクト関数 jResource(value){ ...} にはメソッド 'query' がありません
残念ながら、JavaScript のオブジェクト/関数/プロトタイプのすべての複雑さに関する私の知識は、この問題に頭を悩ませるのに十分ではありません。コードを修正する方法を教えてください。