我使用代理get
方法很好。然后我尝试在一个函数上使用它并很快意识到我需要使用该apply
方法。这个简单的例子不起作用。它从不进入应用。
Node 看起来支持 apply https://node.green/#ES2015-built-ins-Proxy--apply--handler。不知道我做错了什么。
var Foo = {
runme: function() {
return 1;
}
};
var Magic = {
Foo: Foo
};
Magic.Foo = new Proxy(Object.assign({}, Magic.Foo), {
apply: function(target, thisArg, argumentsList) {
// never gets in here
console.log('Proxying function call');
console.log(target);
return 2;
}
});
console.log(Foo.runme()); // outputs 1
console.log(Magic.Foo.runme()); // outputs 1
Magic.foo
我直接尝试和通过ProxyObject.assign
来查看它是否需要成为自己的对象。都没有奏效。