我想知道是否有可能扩展内置的Web API类Request
以在实例化类构造函数时触发立即调用的函数。
因此,每当声明const myRequest = new Request('http://...', {...});
时都会触发一个触发器。例如console.log()
或另一个全局函数。无需显式调用Request.prototype.trigger
或类似的东西。
感谢任何帮助/建议的学习材料。 谢谢!
答案 0 :(得分:1)
您可以将其扩展到自己的班级
class MyRequest extends Request{
constructor(...args){
super(...args);
console.log("extended")
}
}
或覆盖内置的请求(不好的主意)
const originalRequest = Request
Request = function(...args){
console.log("overwrite");
return new originalRequest(...args)
}
答案 1 :(得分:1)
您可以使用私有函数来执行此操作,并覆盖您的Request类-确实不建议这样做,因为您可以自己实现 ,因此您应该自己为其命名您知道它不是默认对象。
void function(){
const request = window.Request;
class Request extends request {
constructor(){
super( ...arguments );
console.log( 'Calling mock request' );
}
}
window.Request = Request;
}();
console.log( new Request( 'http:google.com' ) );