SocketTask设计缺陷:先链接,再订阅。
SocketTask设计有很大问题, api写法入下: let task = wx.connectSocket();
task.onOpen(()=>{ console.log('链接成功!') });
问题:onOpen事件的订阅在链接之后进行,会概率性导致:先链接成功再订阅事件的问题(无法触发onOpen事件)。 我检查了所有api,没找到合适对处理方式,希望能给予解答。 理论上api应如下: // 解决方案一:connectSocket不自动链接,并提供“connection()”方法。
let task = wx.connectSocket(); // 这里不应该自动发起链接,只创建SocketTask对象即可。
task.onOpen(()=>{ console.log('链接成功!') }); // 订阅
task.connection(); // 开始链接(没有这个api)
// 解决方案二:事件的订阅写在wx.connectSocket()里