nodeJS 回调错误参数

dio*_*cks 5 callback node.js

我现在正在学习 node 并且我对 err 参数感到困惑。我认为它应该是回调函数的第一个参数,但我在许多回调函数中都没有看到它。谁能给我解释一下?谢谢!

rob*_*lep 0

首先:回调只是一个函数。不同的回调有不同的目的。

一般来说,执行异步操作并应“返回”值的函数会传递一个回调函数,该函数将采用(至少)两个参数:第一个用于传递错误(如果有),第二个(及后续)用于传递应返回给调用者的值。

您注意到,它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)