gpt4 book ai didi

javascript - Node js 创建服务器并连接

转载 作者:行者123 更新时间:2023-11-28 20:42:45 25 4
gpt4 key购买 nike

看下面的代码:

var server = net.createServer(function(socket) {
//Code block A


socket.on('connect', function() {
//Code block B
})

socket.on('data' , function (data){
//Code C

});

});

是否有可能代码块 A 会被执行而代码块 B 不会被执行,反之亦然?如果是的话,在什么情况下?

举个例子:一旦代码 A 被执行,代码 C 就可以运行多次,而代码 A 不会再次运行。

最佳答案

好吧,如果你调用.listen(),我想你会发现你得到的命令是:

(Client connects) // "connect" event fires
|
v
[A]--*-----. // This is the Socket's "connect" event firing.
| | // B and C are bound to their respective events.
| |
| |
[B] <--. // Binds handler to "connection" event, but
| // connection event fires instantly
|
[C] <--. // "data" event is fired
|
(Client sends data)

此外,A 永远不会在 B 之后开始执行,因为 B 绑定(bind)到的套接字引用位于闭包范围内 < em>A.

@Joe,我也认为这听起来像是采访,但那又怎么样!

关于javascript - Node js 创建服务器并连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14083190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com