访问回调函数中指定的变量名-Node.js/Express

访问回调函数中指定的变量名-Node.js/Express,node.js,express,callback,this,pass-by-reference,Node.js,Express,Callback,This,Pass By Reference,使用Node.js和Express: 当我调用Application.listen方法时,我可以在作为参数传递给Application.listen方法的回调函数中按名称访问返回的服务器对象 var myVariableName = app.listen(3000, () => { console.log(myVariableName.address().port) }); 我已经可以调用myVariableName上的方法,即使我正在创建/分配该变量 这怎么可能?我想了解,这样

使用Node.js和Express:

当我调用Application.listen方法时,我可以在作为参数传递给Application.listen方法的回调函数中按名称访问返回的服务器对象

var myVariableName = app.listen(3000, () => {
    console.log(myVariableName.address().port)
});
我已经可以调用
myVariableName
上的方法,即使我正在创建/分配该变量


这怎么可能?我想了解,这样我就可以实现函数,允许我在回调参数中按名称引用返回的对象。

如comment by中指定的,您无法获取该变量。相反,您可以使用另一个事件作为

app.listen(3000)
app.on('listening', () =>{
  console.log(app.address().port)
})
即使我正在创建/分配该变量!在回调运行时,变量已完成分配。