node.js Пакет MySQL вставляет несколько значений в таблицу, когда нужно вставить только одно.
Я использую пакет MySQL для node.js для вставки значений с помощью JavaScript.Каждый раз, когда я запускаю запрос, в таблицу вставляются несколько значений, как если бы запрос выполнялся несколько раз.Я считаю, что, возможно, это связано с асинхронной природой JavaScript и обещаниями.
export function getData() {
return new Promise(function (resolve, reject) {
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'ec2-xxxxxxxxe-1.amazonaws.com',
user: 'xxxxx',
password: 'xxxxx',
database: 'xxxxoli_webform'
});
connection.connect(function (err) {
var sql = "INSERT INTO webform (Name) VALUES ('test1')";
connection.query(sql, function (err, result1) {
if (result1 === undefined) {
reject(new Error("Error result is undefined"));
} else {
resolve(result1)
}
});
connection.end();
});
});
}
Я ожидаю, что test1 будет введен в таблицу только один раз, однако он был вставлен 4 раза?