猴子补丁没有射击。 (猜猜这只猴子不能打鸭子。)

时间:2012-02-21 18:30:10

标签: javascript dojo monkeypatching

我正在尝试修补JsonRest查询方法。我没有任何接缝可以产生效果。下面我希望查询方法不再起作用,只写“猴子打鸭子”。到控制台。但唉,整个应用程序继续工作,无视我公然企图打破它。我是否需要修补特定实例?

dojo.require("dojo.store.JsonRest");
(function(query, options){dojo.store.JsonRest.query=function(){console.info("monkey punching a duck.");};})();
aprStore = new dojo.store.JsonRest({"target":"/web/rest/apr/","idProperty":"ID"});
var sqry = "?nq=aquerytorun";
aprStore.query(sqry).then(function(result){});

主要目标是我想要在底层的xhrGet,所以我可以附加一个回调到error属性。 .query(函数,函数)忽略我作为第二个参数传入的错误函数。 http 302正是让我疯狂的原因。

1 个答案:

答案 0 :(得分:2)

你不是100%清楚自己要做什么,但我怀疑你需要把你的功能放在那个JsonRest的原型对象上:

dojo.store.JsonRest.prototype.query = function() { ... };

然后,从该构造函数生成的实例将可以访问您的“查询”函数。