重写dojo-dojo.store.Memory中的方法

重写dojo-dojo.store.Memory中的方法,dojo,Dojo,有没有办法在生成dojo方法之前运行我自己的函数 具体来说,我需要在生成query()函数之前刷新dojo.store.Memory中的数据。我的想法是在那里放置一个回调(将在query()之前生成),从服务器获取新数据,然后将数据设置为内存实例。那就打电话吧 this.inherited(arguments) 我已经尝试用declare覆盖查询方法,但仍然遇到一些不相关的错误。4个小时,但没有运气 还有别的办法吗 谢谢是的,您可以在任何方法之前、之后或周围触发回调。只用 像这样的方法应该会奏

有没有办法在生成dojo方法之前运行我自己的函数

具体来说,我需要在生成query()函数之前刷新dojo.store.Memory中的数据。我的想法是在那里放置一个回调(将在query()之前生成),从服务器获取新数据,然后将数据设置为内存实例。那就打电话吧

this.inherited(arguments)
我已经尝试用declare覆盖查询方法,但仍然遇到一些不相关的错误。4个小时,但没有运气

还有别的办法吗


谢谢

是的,您可以在任何方法之前、之后或周围触发回调。只用

像这样的方法应该会奏效:

require(["dojo/store/Memory", "dojo/aspect"], function(Memory, aspect){
    aspect.before(Memory, "query", function(){
        // do something
    });
});

然而,对于您的特定用例,如果我理解正确的话,您想要的是将存储链接到服务器端控制器。在这种情况下,应该使用而不是dojo/store/Memory。在查询之前不需要触发任何方法…

我使用了dojo/store/JsonRest。谢谢