“自动分配”回调函数参数

时间:2017-04-04 21:53:13

标签: javascript

我正在尝试了解在传递回调函数时参数是如何分配的。例如,在mysql npm包Connection.js中,.connect方法使用err参数传递回调。我试图了解如何初始化和分配.connect回调函数错误参数的一步一步细节。

mysql.connect(function(err) {
  if (err) {
    console.error('error connecting: ' + err.stack);
  }
  console.log('connected as id ' + connection.threadId);
});

我对连接通话的理解是这样的。

首先,调用mysql.connect,它是对

的引用
Connection.prototype.connect = function connect(options, callback)

在\ node_modules \ mysql \ lib \ Connection.js

然后,connect函数内的代码执行并以行

结束
this._protocol.handshake(options, bindToCurrentDomain(callback));

然后将控制权传递回匿名回调函数(err),该函数现在可以引用错误的对象,因为它现在已被分配。

这是对的吗?

如果没有,任何对此的见解都将受到赞赏。特别是,我正在努力理解

1)在执行.connect调用以及它如何执行时,一步一步地发生了什么,然后将控制权交给匿名回调。

2)匿名回调如何访问指定的错误参数。

3)#2的答案是否真的是模式(实质上是什么,而不是确切的实现细节),如何使用参数“自动分配”回调? (例如,express.Router()中的req和res params。route(function(req,res)...)

由于

0 个答案:

没有答案