nodejs-mssql返回记录集
nodejs mssql return recordset
我试图像返回值一样通过mssql request.query中的记录集。遵循上的代码https://www.npmjs.com/package/mssql制作控制台输出很容易,但当我试图将记录集指定给另一个变量时,就不起作用了。我做错了什么?
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);
谢谢。
查询是异步运行的。console.log
实际上是在resultado = recordset[0].VehiCLASS
完成之前运行的,所以它没有被设置。
必须同步任何依赖异步操作的代码。你必须通过使用回调来做到这一点:
resultado = recordset[0].VehiCLASS;
console.log("rsul: ", resultado);
您也可以指定自己的回调函数来防止嵌套:
function queryComplete(err, result) {
// should handle error
console.log("rsul: ", result);
}
resultado = recordset[0].VehiCLASS;
queryComplete(null, resultado);
相关文章:
- 输入类型按钮返回历史记录并返回顶部
- HTML5历史记录-返回上一个完整页面按钮
- 如果在过去两个小时内没有记录,返回0,javascript逻辑
- 如何记录调用另一个函数的函数的返回值
- 包含插入的Meteor方法没有返回记录ID作为结果
- 如何返回可用的历史记录状态数
- 引导选项卡不适用于历史记录.返回选项
- JS函数在浏览器历史记录中返回特定域的上次浏览页面
- 将Function-Nothing日志记录返回到控制台
- MSCRM异步javascript SDK.REST.retriveMultipleRecords只返回50条记录,一次
- 如何按顺序记录多个函数的返回
- $http请求在一个请求中返回所有记录而不分页
- ExtJs getTotalCount()未返回存储中的记录数
- Delete方法不适用于Indexed DB HTML5.它返回成功,但未删除记录
- Object.keys(obj).length 返回字符总和而不是记录总数
- FetchXML 查询在子网格中返回的动态 CRM 2015 中的活动记录 - 主题超链接将打开新的活动
- Javascript preventDefault历史记录返回
- 浏览器历史记录返回后未绑定的数据
- 如何在JsDoc中记录返回的数据
- 在浏览器历史记录返回按钮上重新加载页面