在事件被触发后调用回调

时间:2018-03-10 01:59:08

标签: javascript events asynccallback

我最近一直在与客户端(在浏览器中)和node.js一起开展项目。我正在使用Web套接字在两者之间进行通信。我在我的服务器上实现了一个通过WebSockets进行通信的API,服务器工作得很好。在浏览器中,我正在实现以下类(在javascript中)与API接口。

class ApiHandlerV1 {
    constructor(apiUrl) {
        //create the object
        this.ws = null;
    }

    makeRequest(request,callback) {
        //make a request
    }

    connect() {
        //connect the websocket
        this.ws = new WebSocket(this.url);
        this.ws.onmessage = function () {
            //call callback?
        }
    }
}

我所关注的问题是我希望能够调用makeRequest,提供回调,并且一旦套接字获得数据,就会触发回调。我曾经考虑过每次提出请求时重新定义.onmessage,但这对我来说似乎很脏,并且很可能是一个很好的解决方案。

澄清:由于我实施服务器的方式,我只会从服务器收到一条消息。

正如多米尼克在评论中指出的那样,我还应该说,在我提出请求之前,我将打电话给.connect()。在我的代码的其他部分之后,我将多次调用makeRequest。

0 个答案:

没有答案