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);