u
This commit is contained in:
parent
2cb5ed7389
commit
930a81dbff
13
unisocket.js
13
unisocket.js
@ -36,11 +36,11 @@ export default {
|
||||
my.socket.onMessage(({ data }) => {
|
||||
// 在这里统一分发消息(用户端通常不需要返回结果给服务器,因此不用 rpc 模式,而用 event 模式。
|
||||
try {
|
||||
let dataObj = JSON.parse(data)
|
||||
console.log('WebSocket onMessage for skevent: ', dataObj.skevent)
|
||||
let listeners = my.listeners[dataObj.skevent] || []
|
||||
let { skevent, ...apiWhat } = JSON.parse(data)
|
||||
console.log('WebSocket onMessage for skevent: ', skevent)
|
||||
let listeners = my.listeners[skevent] || []
|
||||
for (let listener of listeners) {
|
||||
listener(dataObj)
|
||||
listener(apiWhat)
|
||||
}
|
||||
} catch (exception) {
|
||||
console.log(new Date().toJSON(), 'unknown message', data)
|
||||
@ -57,6 +57,11 @@ export default {
|
||||
delete my.reconnecting
|
||||
}, 2000)
|
||||
},
|
||||
initListener (skevent, listener) {
|
||||
// 当该 skevent 尚不具有任何 listener 时,添加本 listener
|
||||
my.listeners[skevent]?.length > 0 || this.addListener(skevent, listener)
|
||||
return this
|
||||
},
|
||||
addListener (skevent, listener) {
|
||||
if (Array.isArray(my.listeners[skevent]) && typeof listener === 'function') {
|
||||
my.listeners[skevent].push(listener)
|
||||
|
Loading…
Reference in New Issue
Block a user