我正在尝试使用Node.js,mssql库和SQL Server完成批量插入请求时运行一个函数:
sql.connect(config, function (err) {
// error handling
var request = new sql.Request()
request.bulk(table, function (err, rowCount) {
if (err) {
// error handling
}
})
request.on('error', function (err) { // Doesn't Register
console.dir(err)
})
request.on('done', function (returnValue, affected) { // Doesn't Register
MyClass.MyFunction() // FUNCTION I NEED TO CALL
})
})
sql.on('error', function (err) {
// error handling
sql.close()
})
既不会触发错误也不会触发完成事件。我只需在SQL请求完成后运行MyFunction
。为什么不触发事件?
答案 0 :(得分:2)
从documents开始,您的请求将在.bulk()
回调中完成。不确定为什么没有调用Request'done'事件,而是尝试使用批量回调。
request.bulk(table, function (err, rowCount) {
if (err) {
// error handling
}
console.log('Bulk insert is done, %s rows committed', rowCount);
})
答案 1 :(得分:1)
使用bulk
功能上的回调,如documentation:
request.bulk(table, function (err, rowCount) {
if (err) {
// error handling
} else {
MyClass.MyFunction();
}
});