У меня есть простой цикл функции в NodeJS, которая запрашивает базу данных SQL Server и возвращает запись. Я также использую клиент Microsoft SQL Server для Node.js, который MSSQL
. В приведенном ниже коде я повторяю цикл 5 раз, вызывая одну и ту же функцию, и ожидал, что результат будет повторен 5 раз. Тем не менее, напечатанный результат показывает только последний.
for(var i = 0; i < 5; ++i){
getRecord();
}
var getRecord = function(param) {
return new Promise(function(resolve, reject) {
sql.close();
sql.connect(config).then(pool => {
return pool.request()
.query('select TOP 1 * from table')
}).then(result => {
sql.close();
console.log( result);
console.log(' param : ' + param);
resolve(result.recordset);
}, function (err) {
sql.close();
reject(err);
});
})
}
Результат:
{ recordsets: [ [ [Object] ] ],
recordset:
[ { ..],
output: {},
rowsAffected: [ 1 ] }
param : 4
Пожалуйста, помогите мне понять, почему напечатанный результат только последний.
Спасибо.