《深入理解ES6》阅读随笔
可撤回代理
一般在创建代理时,默认是不可撤回的,但有时可能会遇到回收代理的需求。此时可以使用静态方法 Proxy.revocable() 来创建代理,它可以接收两个参数:
- trapTargat:目标对象;
- proxyHander:具体代理实现过程;
然后返回两个参数:
- proxy:代理对象;
- revoke:调用执行以后可以撤回代理;
const targat = { a: 1 }
const { proxy, revoke } = Proxy.revocable(targat, {})
console.log(targat) // { a: 1 }
console.log(proxy) // { a: 1 }
revoke()
console.log(proxy) // err
网友评论