Javascript console.log端口

我正在使用node.js在Electron上创build一个小应用程序,并尝试输出我的应用程序连接到的端口用于开发目的。

这是我的MySQL连接代码:

var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "xxx", port: "3306" }); 

和我的输出代码:

 con.connect(function(err) { if (err) { return document.getElementById("connection").innerHTML = "<span style='color:red;'>Not connected - Please contact Administrator</span>"; } return document.getElementById("connection").innerHTML = "Connected on port " + con.port; }); 

我试图用con.port输出它,但它只是说“未定义”。 这里的正确解决方法是什么?

提前致谢。

con.connect函数实际上不返回任何东西。 这是一个asynchronous函数,它不返回任何内容,并且在出现错误或者连接时执行该函数作为callback函数。 要显示连接的端口,只需在外部构build选项对象,然后访问它。 con这是一个mysql连接,没有公共端口属性。

 var mysqlOptions = { host: "localhost", user: "root", password: "xxx", port: "3306" }; var con = mysql.createConnection(mysqlOptions); con.connect(function(err) { if (err) { document.getElementById("connection").innerHTML = "<span style='color:red;'>Not connected - Please contact Administrator</span>"; return; } document.getElementById("connection").innerHTML = "Connected on port " + mysqlOptions.port; }); 

另外,正如下面所说的@zerkms,你可以通过configuration对象这是一个属性的MySQL连接访问端口:

 var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "xxx", port: "3306" }); con.connect(function(err) { if (err) { document.getElementById("connection").innerHTML = "<span style='color:red;'>Not connected - Please contact Administrator</span>"; return; } document.getElementById("connection").innerHTML = "Connected on port " + con.config.port; });