我正在学习nodejs "net"模块。
为什么我们可以在socket = net.createConnection(PORT, () => {console.log("connected")}
之后直接调用socket.write("hello")
。为什么不等待连接建立,也就是为什么不把socket.write
放到net.createConnection的回调函数中呢?当套接字未连接时,我们可以向套接字写入数据吗?
我们为什么不放套接字呢?的回调函数net.createConnection吗?
你可以,但是仅仅因为socket.write
没有抛出任何错误并不意味着它正在写数据。如果你查看socket.write
的文档,你会看到:
可选回调参数将在数据返回时执行最后写出来的可能不是立即.
根据你想要使用的其他逻辑,使用该参数或使用connect
事件仍然是一个很好的做法。