找出一个套接字是否为null
如何找出一个套接字= null或未定义
我想要实现的例子
if(socket.username == NULL){ givenulldata() }
这是我的sockets删除断开连接,但有时用户还没有真正离开网站,我不想惹恼他们请刷新页面的东西,当它不需要。 由于删除笔记本电脑上的电池没电或无线连接断开和重新连接(移动设备更常见的问题)等
socket.on('disconnect', function(data){ if(!socket.username) return; delete username[socket.username]; });
undefined和null是falsy值,所以他们转换为布尔结果为false
你可以试试:
if((!socket) || (socket && !(socket.username))){ givenulldata() }
通过这个,你检查套接字是否不存在或者是否存在,但没有用户名
如何满足主题发起人的问题有一个改进的方法:
if (!isSocket || !socket.username) { givenulldata() }
它是如何工作的?
如果!isSocket
为true,则会给出空数据。 JS甚至不会去!socket.username
! 但是,如果!isSocket
是假的,那么假设isSockt
是真实的,JS会检查是否isSockt
户名。 这样的代码看起来更干净