こんにちはを返しません。関数が実行され、それが正常に動作しますが、私はあなたが私がノードJSリターン機能はので、私はちょうどこの機能を作り、私はデータを返す作るしようとしているが、何らかの理由で、それはデータを返しませんが、私は時のログをコンソールを試みたとして関数が呼び出され、データ
ありがとう配列で返されたデータを置くしようとしている機能を使用しています見ることができるように機能
を使用する場合、それだけでデータを返すんすべて。
a.push(methods.UserInfo(id));
は、ここで私は
methods.UserDatas = ((client, json)=> {
let a = [];
if (json.Params.length > 0) {
json.Params.forEach((id)=>{
if (id) {
a.push(methods.UserInfo(id));
}
});
let cmd = {
'Cmd': 'GetUserInfo',
'userinfo': a
};
packet.send(client, JSON.stringify(cmd));
}
});
methods.UserInfo = ((id)=> {
sql.query('SELECT * FROM users WHERE ?',[{id:id}], (err, row)=>{
if (err) {
throw err;
} else {
if (row.length > 0) {
let playerData = {};
playerData.userid = row[0].id;
playerData.strGender = row[0].Gender;
playerData.Username = row[0].Username;
let items = {};
sql.query('SELECT * FROM users_items WHERE ? AND equipped=1',[{userid:id}],(err,rows) => {
if (err) {
throw err;
} else {
if (rows.length > 0) {
for (var i =0; i< rows.length; i++) {
let item = DBData.items.get(parseInt(rows[i].itemid));
items[rows[i].equipment] = {
'ItemID': item.id,
'File':item.File,
};
}
}
playerData["equipment"] = items;
return playerData;
}
});
}
}
});
});
'a.push(methods.RetrieveUserInfo (id)) 'があなたのコードに実装されていますが、そのメソッドの名前は' UserInfo 'です。それは単にタイプミスですか? –
私はそれが入力された編集されている事故によってそののUserInfo(ID)の – Wexo
可能な重複[私は非同期呼び出しからの応答を返すにはどうしますか?](http://stackoverflow.com/questions/14220321/how-do-i-return非同期呼び出しからの応答) –