扩展WebSocket类

时间:2018-04-29 21:59:44

标签: javascript websocket

我正在尝试创建自己的WebSocket类。

function WebConnect(){
    WebSocket.call(this, "wss://ws.achex.ca/")
}

WebConnect.prototype = Object.create(WebSocket.prototype);

WebConnect.prototype.onopen = function(evt){ console.log(evt) }

...

WebConnect.prototype.anotherWsFunction = function(){...}

但是当我尝试创建此课程var a = new WebConnect()时,我遇到了这个错误: " Uncaught TypeError:无法构建' WebSocket':请使用' new'运算符,此DOM对象构造函数不能作为函数调用。"

我不明白我做错了什么。

我试图这样做,因为我想定义已经定义的" onopen,onclose,.." 事件加上我创建这个类时的一些自定义方法,所以我可以稍后在另一个类中使用它们

function SOCKET(props){
    this.websocket = new WebConnect();
    this.lobby = new Lobby();
    ...
}

编辑:

class WebConnect extends WebSocket {
    constructor(wsuri) {
        super(wsuri)
    }

    onopen(event) {
        console.log("Connection open event:");
        console.log(event);
    }

    onclose(event) {
        console.log("Connection closed event:");
        console.log(event);
    }

    onerror(event) {
        console.log("Connection error event:");
        console.log(event);
    }

    onmessage(event) {
        console.log("Message event:");
        console.log(event);
    }
}

在@PatrickRoberts发表评论之后,ES6课程的方法也不起作用 如果var a = new WebConnect(wsuri)a.onopen == null

编辑: 有什么想法吗?现在我使用包装器。但它是否有可能做到这一点" class extend"方式是什么?

0 个答案:

没有答案