私のノードJS Serverに私のモジュールファイルがあります。私のモジュールファイルはDBに接続し、行のリストを取得します。私は、オブジェクトの配列を返す関数をエクスポートしています。基本的に私はDBから得た情報を返すようにして、それを私のメインスクリプトに渡して何かをする。Javascript - エキスパートからのオブジェクトの配列の返却Undefined - NodeJS
だからこれは私のモジュールスクリプトが
どのように見えるかである - mymodule.js -
function smsdcontact(fname, lname, smsdcell, smsdemail) {
this.fname = fname;
this.lname = lname;
this.smsdcell = smsdcell;
this.smsdemail = smsdemail;
}
var smsdgetlist = function (smsdgroupid) {
var smsdlist = [];
connection.connect();
connection.query('SELECT * from mymembers', function(err, rows, fields) {
if (!err) {
console.log('The number of rows found are: ', rows.length);
for (i = 0; i < rows.length; i++) {
smsdlist.push (new smsdcontact(rows[i].memfname,rows[i].memlname,rows[i].memcell,rows[i].mememail));
}
connection.end();
console.log(smsdlist);
return smsdlist;
}
else
console.log('Error while performing Query.'+err);
});
}
exports.smsdgetlist = smsdgetlist;'
私の主なスクリプトがその
のようになります - main.js -
var test = require("./smsdsql.js");
var returnedarray = test.smsdgetlist("0");
console.log(returnedarray)
出力は次のようになります
- 出力 - まったく同じロジック -
C:\node main.js
undefined
The number of rows found are: 2
[ smsdcontact {
fname: ‘user 1 first name',
lname: ‘use 1 last name',
smsdcell: ‘user 1 cell phone',
smsdemail: ‘user 1 email },
smsdcontact {
fname: 'user 2 first name'',
lname: 'user 2 last name',
smsdcell: 'user 2 cell phone',
smsdemail: ‘user 2 email' } ]
だから、問題はそれはリターンが
あなたの出力には、興味深いミックスがあります。一重引用符、二重引用符、字体引用符があります...実際の出力を示す実際のウィンドウからコピーしたことは絶対にありません。 – Tomalak
私は実際のデータをマスクしようとしていたので、@m_callensに余分な引用符があります。 – Joe
出力を変更するのではなく、*データ*を変更して実際のデータをマスクします。 – Tomalak