CNode

关于socket.io,如何在server端终止socket自定义监听事件?

问答
Rridesky发布于9 年前最后回复9 年前2 回复4931 浏览0 收藏
 socket.on('some event',()=>{
		// some code
	})

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

谢谢大神的解救~~

查看回复

回复 (2)

I
IchiNiNiIchi#1·9 年前

只监听一次可以用 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)
R
ridesky#2·9 年前
引用 IchiNiNiIchi只监听一次可以用 socket.once(eventName, listener)。 如果要移除监听者的话,可以用 socket.removeListener(eventName, liste...

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

参与回复
登录后即可参与回复。登录