抛出err;//重新抛出非mysql错误^ TypeError: rows.forEach不是一个函数



我是Node js的新手,并试图通过在Node js中编写rest api来开始学习它,

我试图添加数据到我的mysql phpmyadmin数据库使用这个代码,并想打印结果什么数据被添加

app.post('/employees', (req, res) => {
var emp = req.body;
var sql = "INSERT INTO `employee` SET ?";
mysqlConnection.query(sql, emp , (err, rows, fields) => { 
if (!err){
rows.forEach(element => {
if(element.constructor == Array)
res.send('Inserted employee id : '+element[0].EmpID);
res.end(JSON.stringify(rows));
});
}
else
console.log(err);
})
});

数据正在被添加到数据库中,但node js连接正在关闭,我得到这个错误

throw err; // Rethrow non-MySQL errors
^
TypeError: rows.forEach is not a function

此错误信息表明您正在尝试在JavaScript中没有定义此方法的对象上调用forEach方法。

这个错误最常见的原因是你试图用forEach迭代的对象不是一个数组。forEach方法只在JavaScript的数组对象上定义。

要修复此错误,可以在使用forEach之前检查对象是否为数组。您可以通过使用Array.isArray()方法来实现这一点,如果对象是数组,则返回true,否则返回false

例如:

if (Array.isArray(js)) 
{
js.forEach(function(item) 
{
// Do something with each item in the array
});
} 
else 
{
// Handle the case where js is not an array
}

最新更新