我目前正在开发一个 WebSocket。为此,我创建了一个 JavaScript 类。在这堂课中,我有 2 种方法:subscribe()和bind(). 第一种方法订阅一个频道,下一个方法应该收听它。但是当我这样调用我的方法时:let socket = new CustomWebSocket();socket.subscribe("my-channel").bind("my-event", function (response) { console.log(response);});我在控制台中收到一条错误消息:Uncaught TypeError: socket.subscribe(...).bind is not a function这就是我在CustomWebSocket课堂上编写函数的方式:subscribe(channelName) { let self = this; let subMsg = { type: "subscribe", channel: channelName }; self.ws.send(JSON.stringify(subMsg)); return channelName;}bind(eventName, callback) { let self = this; self.ws.onmessage = function (event) { let eventData = JSON.parse(event.data); if (eventData.type === "channelMessage") { callback(eventData.payload); } }}我做错了什么?它认为它可以这样工作......
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
你channelName;
从subscribe
. 因此,您实际上是在尝试bind
调用channelName
.
为了能够调用bind
的返回值subscribe
,您需要 returnself
或this
from subscribe
。
添加回答
举报
0/150
提交
取消