这是我的node.js项目中的代码,但是我无法访问的值connection2
。我在某处读到.getConnection是异步函数,因此无法以这种方式获取connection2的值。如何修改此代码以正确返回值?
var mysql = require('mysql');
var connectionPool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'rockcity_followme'
});
exports.connExport=function() {
var connection2;
connectionPool.getConnection(function (err, connection) {
connection2=connection;
});
return connection2;
}
您无法在此处返回连接。它必须是异步的,因此您将回调作为参数,并在建立连接后调用该回调。
exports.connExport=function(callback) {
connectionPool.getConnection(function (err, connection) {
callback(connection);
});
}
请参阅此有关异步VS在节点同步功能的更多信息。
当一个函数异步地执行任何操作时,它必须一直是异步的。要从connExport
另一个模块使用,必须异步使用。
var yourModule = require("yourModule");
yourModule.connExport(function(connection) { // <-- the callback function
// you can use connection here
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句