2017-06-29 10 views
1

私はElectronでnode.jsを使って小さなアプリケーションを作成しています。私のアプリが開発目的で接続されているポートを出力しようとしています。Javascript console.log port

これは私の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でそれを出力しようとしたが、それだけで "未定義" と言います。ここで正しい修正は何ですか?

ありがとうございます。

+0

私はあなただけで 'はconsole.log(con.port)を'行わない理由は何かが欠落しなければなりませんか? – Clonkex

+0

@Clonkexはそれを試しました、ただ私に "undefined"を与えます –

+0

あなたが試したことを示してください。私たちがあなたが試したすべてを知っているなら、私たちの方が簡単です。しかしまた、あなたは 'con.port'が事だとどう思いますか? 'console.log(con);'を実行し、 'port'が' con'のプロパティであるかどうかを調べてみてください。 – Clonkex

答えて

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の接続のプロパティで設定オブジェクトを介してポートにアクセスすることができます、あなたがしなければならないように見えるソースコードを1として

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; 
});