关于socket.io,如何在server端终止socket自定义监听事件?
发布于 5 年前 作者 ridesky 3802 次浏览 来自 问答
 socket.on('some event',()=>{
		// some code
	})

像这样的socket监听事件中,如果执行完一遍后,想终止该监听事件,该怎么移除呢 ? 之前在网上找到的知识移除client端的监听事件,在服务端没有找到解决的办法…

谢谢大神的解救~~

2 回复

只监听一次可以用 socket.once(eventName, listener)。 如果要移除监听者的话,可以用 socket.removeListener(eventName, listener) 和 socket.removeAllListeners([eventName])。具体可以看 https://nodejs.org/dist/latest-v8.x/docs/api/events.html#events_emitter_removelistener_eventname_listener

const cb = () => console.log('boom')
socket.on('some event', cb)
socket.removeListener('some event', cb)

@IchiNiNiIchi 额,因为没有去用原生的socket,所以就没有去试过原生的方法来移除,看来只能这么弄了, 辛苦啦~

回到顶部