1
ノードjsの関数から戻り値を取得する方法を理解できません。以下のコードを見つけてください(私はコンソールログでクエリの結果を得ることができますが、その値を返し、関数を呼び出した後に変数を格納することができません)。メイン:ノードjs:関数から値を返すことができません
function executeQuery(conn,query,cb)
{
conn.query(query, function (err, data)
{
if (err) console.log(err,data);
else
console.log(data);
});
//return callback(data);
};
:クエリを実行する
function dbConnection(dbname,hostname,UserID,Password,Port,query,callback)
{
var ibmdb = require('ibm_db');
ibmdb.open("DATABASE="+dbname+";HOSTNAME="+hostname+";UID="+UserID+";PWD="+Password+";PORT="+Port+";PROTOCOL=TCPIP", function (err,conn)
{
if (err) return console.log(err);
var a= executeQuery(conn,query,function(err,data)
{
return data
});
});
}
機能:
dbConnection("xxx","xxx","xxx","xxx","50000","select xxx,xxx,CURRENCY from xxx where AccountID='85433333'")
機能の設定データベース接続に
のような呼び出しをコールバックから呼び出すことはできません。これは非同期のシナリオです – itzhar
私はそれを非同期にしたいのですがどうすればいいですか教えてください –
そのノードJSは非同期です。 返されたデータを取得したい場合は、 'promise'を作成することができます。あなたの質問から結果が出たら、解決する約束をしてください! https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise –