我现在正在学习 node 并且我对 err 参数感到困惑。我认为它应该是回调函数的第一个参数,但我在许多回调函数中都没有看到它。谁能给我解释一下?谢谢!
首先:回调只是一个函数。不同的回调有不同的目的。
一般来说,执行异步操作并应“返回”值的函数会传递一个回调函数,该函数将采用(至少)两个参数:第一个用于传递错误(如果有),第二个(及后续)用于传递应返回给调用者的值。
您注意到,它net.createServer()还将采用一个回调函数,但该函数只有一个参数。
这是因为,在这种情况下,回调不用于传递错误和/或值。相反,它是一个在与服务器建立新连接时被调用的函数。
确实是有点走捷径了。这段代码:
var server = net.createServer(function(connection) {
...
});
Run Code Online (Sandbox Code Playgroud)
这段代码的缩写:
var server = net.createServer();
server.on('connection', function(connection) {
...
});
Run Code Online (Sandbox Code Playgroud)