Вы неявно присваиваете и переназначаете глобальную переменную records
на каждой итерации.Таким образом, к моменту запуска асинхронного запроса основной поток завершается, и records
остается последним присвоенным ему значением.
Вместо этого объявите его с помощью const
, чтобы обеспечить наличие новой привязки для каждогоитерация.
Кроме того, нет необходимости объявлять массив, а затем немедленно деструктурировать его, чтобы выбрать первый элемент - вместо этого просто объявите records
как одномерный массив с двумя элементами:
tableau.forEach(function(obj) {
for(let i = 0; i < obj.produits.length; i++) {
let bd_nom = obj.produits[ii].nom
let bd_description = obj.produits[ii].description
let bd_titre = obj.titre
const records = [bd_nom, bd_description, bd_titre]
con.connect(function(err) {
let sql = "INSERT INTO scrapeded (nom, text, titre) VALUES ?";
con.query(sql, records, function (err, result) {
console.log(result)
console.log("Nombre de rangée affectée : " + result.affectedRows)
console.log("Nombre d'enregistrement affectée avec avertissement : " + result.warningCount)
console.log("Message du serveur mySQL : " + result.message)
})
})
}
})