nodejs mssql返回logging集

我试图从mssql request.query像返回值的logging集。 在https://www.npmjs.com/package/mssql上的代码很容易做出一个控制台输出,但是当我尝试将logging集作为另一个variables不起作用。 我在做什么错?

var sql = require('mssql'); var config = { user: 'sa', password: 'XXXXXX', server: '192.168.8.25', database: '3TWIMDB', } var resultado=''; sql.connect(config, function(err){ var request = new sql.Request(); request.query('select 1 as VehiCLASS',function(err,recordset){ console.log(recordset[0].VehiCLASS); resultado = recordset[0].VehiCLASS; }); sql.close(); }); console.log("rsul: "+resultado); 

谢谢。

查询是asynchronous运行的。 console.log实际上在resultado = recordset[0].VehiCLASS完成之前运行,所以没有设置。

您必须同步任何依赖于asynchronous操作的代码。 你必须使用callback来做到这一点:

 resultado = recordset[0].VehiCLASS; console.log("rsul: ", resultado); 

您也可以指定自己的callback函数来防止嵌套:

 function queryComplete(err, result) { // should handle error console.log("rsul: ", result); } resultado = recordset[0].VehiCLASS; queryComplete(null, resultado);