Javascript console.log端口

时间:2017-06-29 00:53:06

标签: javascript mysql node.js electron

我正在使用node.js在Electron上创建一个小应用程序,并尝试输出我的应用程序所连接的端口以进行开发。

这是我的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输出它,但它只是说&#34; undefined&#34;。这里有什么正确的解决方案?

提前致谢。

2 个答案:

答案 0 :(得分:2)

con.connect函数实际上并没有返回任何内容。它是一个不返回任何内容的异步函数,如果出现错误或连接,则将该函数作为回调函数执行。要显示连接的端口,只需在外部构建选项对象,然后访问它。 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所述,您可以通过配置对象访问端口,该对象是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;
});

答案 1 :(得分:2)