我试图覆盖WebSocket.send()
方法。
我的目标是能够模糊发送的数据以测试服务器实现的稳健性。
我采用这种方法:
// OVERRIDE WEBSOCKET SEND METHOD
WebSocket.prototype.oldSend = WebSocket.prototype.send;
WebSocket.prototype.send = function(data) {
console.log("ws: sending data");
WebSocket.prototype.oldSend(data);
};
第一次调用WebSocket.prototype.oldSend(data)
命令时失败,错误如下:
发送失败:'发送'调用了一个没有实现接口WebSocket的对象。
任何人都可以覆盖内置的websocket发送方法(),或者我还缺少什么?
TIA
答案 0 :(得分:1)
怎么样:
WebSocket.prototype.oldSend = WebSocket.prototype.send;
WebSocket.prototype.send = function(data) {
console.log("ws: sending data");
WebSocket.prototype.oldSend.apply(this, [data]);
};
答案 1 :(得分:1)
据我所知,您无法覆盖WebSocket.send()实现,因为它在大多数浏览器中都是只读的。
你能做的就是:
this.userService.getPicture()
.then(response => {
//You will probably need to fill this.file_srcs with data from response
console.log(this.file_srcs);
if(this.fileCount > 0)
{
this.previewImage(this.fileToUpload)
}
console.log(typeof(response));
return response;
})
.catch(this.displayError)
无论如何都应该做到这一点,而不会弄乱原型。