在阅读有关Proxy
的同时。我想在XMLHttpRequest
上进行测试以拦截文档的所有xhr请求。因此,我首先使用Proxy
陷阱XMLHttpRequest
编辑了construct
来代理它的新创建实例,因此,我可以查看是否有任何onload
被设置或调用。然后,获取响应。
但是,无论何时,我尝试代理反映的XMLHttpRequest
时都会出错。我不知道这是什么意思,但仍然无法弄清楚。
这个Question似乎很像。但是我的头在旋转所以,有人可以帮助我吗?我不太熟悉新的class
规范(尝试了几次但不多)。
这是什么错误?是什么原因造成的??因此,有什么方法可以代理Reflected Object?
function observer(x) {
return new Proxy(x, {
construct(a, b, c) {
return observer(Reflect.construct(a, b, c));
},
set(a, b, c) {
console.error(b, c);
}
})
}
XMLHttpRequest = observer(XMLHttpRequest);
let xhr = new XMLHttpRequest;
xhr.open('GET', 'http://example.com/', 1); // TypeError: 'open' called on an object that does not implement interface XMLHttpRequest.
xhr.onload = e => console.warn(e.target.status);
xhr.send();
谢谢。