Wie bekomme ich eine 'fertige' Nachricht nach Abschluss der Bulk-Insert?

Ich versuche, eine function nach dem Abschluss einer Bulk-Insert-Anforderung mit Node.js, die mssql-Bibliothek und SQL server auszuführen:

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() }) 

Weder der Fehler noch das erledigte Ereignis wird ausgetriggers. Ich muss MyFunction nur laufen MyFunction , nachdem die SQL-Anforderung beendet ist. Warum triggers es das Ereignis nicht aus?

Verwenden Sie den callback auf der bulk function, wie in der Dokumentation beschrieben :

 request.bulk(table, function (err, rowCount) { if (err) { // error handling } else { MyClass.MyFunction(); } }); 

Von den Dokumenten wird Ihre Anfrage im .bulk() callback durchgeführt. Nicht sicher, warum das Request 'done' Event nicht aufgerufen wird, aber versuchen Sie es mit dem Bulk Callback.

 request.bulk(table, function (err, rowCount) { if (err) { // error handling } console.log('Bulk insert is done, %s rows committed', rowCount); })