为什么可以调用socket.写net.createConnection后立即?



我正在学习nodejs "net"模块。

为什么我们可以在socket = net.createConnection(PORT, () => {console.log("connected")}之后直接调用socket.write("hello")。为什么不等待连接建立,也就是为什么不把socket.write放到net.createConnection的回调函数中呢?当套接字未连接时,我们可以向套接字写入数据吗?

我们为什么不放套接字呢?的回调函数net.createConnection吗?

你可以,但是仅仅因为socket.write没有抛出任何错误并不意味着它正在写数据。如果你查看socket.write的文档,你会看到:

可选回调参数将在数据返回时执行最后写出来的可能不是立即.

根据你想要使用的其他逻辑,使用该参数或使用connect事件仍然是一个很好的做法。

最新更新