Node-mssql зависает после запроса

У меня возникла проблема, когда я запускаю скрипт узла для извлечения данных из SQL Server. Кажется, я получаю результаты, но после выполнения запроса код не выполняется. Вот что у меня есть для кода:

var config = {
    user: 'blah',  
    password: 'blah',  
    server: 'blah',  
    database: 'blah'
};

sql.connect(config, err => {

    if(err) { console.log(err); }

    var request = new sql.Request();
    request.query('select * from products', function(err, data){
        console.log(data.recordset);
        ProcessData(data.recordset);                       
    });

});

sql.on('error', err => {
    console.log(err);    
});    

function ProcessData(results){
    for(var i; i < results.length - 1; i++){
        console.log(results[i].sku);
    }
}

Теперь я вижу результаты в терминале для console.log(data.recordset), но я никогда не вижу в терминале никаких результатов из функции ProcessData. Есть ли что-то, что мне не хватает, что мешает правильному запуску моего кода? Спасибо.

Уэйд


person Wade73    schedule 02.06.2018    source источник
comment
Я тоже застрял на этом. Аналогичный пример   -  person user3888307    schedule 09.08.2018


Ответы (1)


Разобрался.. Нужно просто закрыть соединение.

sql.connect(config, err => {

    if(err) { console.log(err); }

    var request = new sql.Request();
    request.query('select * from products', function(err, data){
        console.log(data.recordset);
        ProcessData(data.recordset);  
        sql.close() // just close the connection and it will exit !

    });

});
person user3888307    schedule 09.08.2018