[英]node.js - .then() is not defined
我正在为我的API使用node.js + Express + sequelize。 我有一个post方法,在这里我使用bulkcreate(向一个表中同时插入几行),但是会出错:然后未定义。
这是我的错误:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>`enter code here`
</head>
<body>
<pre>ReferenceError: then is not defined<br> at router.post (C:\Users\Desktop\PROYECTOS\viajeros-api\routes\travellers.js:143:5)<br> at Layer.handle [as handle_request] (C:\Users\Desktop\PROYECTOS\viajeros
....
</body>
</html>
这是我的张贴方法:
router.post('/:id/countries', (req, res) => {
const travellerId = req.params.id;
const registerJson = req.body;
for(let i = 0; i < registerJson.length; i++) {
models.travellers_countrie.bulkCreate([
{ traveller_id:travellerId, country_id:registerJson[i].id }
])
};
then(() => {
return models.travellers_countrie.findAll();
}).then(paises => {
console.log(paises)
})
.catch(error => {
console.log('estamos en el error');
console.log(error);
let response = Errors.errorResponse(error);
res.status(500).send(response);
});
});
我无法解决问题。 有找到解决方案的想法吗? 谢谢
如果要批量编辑,则应首先格式化数据,然后再更新。 在for循环中使用数据库操作不是您的代码中的好习惯
同样,您在for循环和批量插入函数之外引用.then
这就是其给出错误的原因。
参考此代码,它现在应该可以工作
const dataArray = [];
for(let i = 0; i < registerJson.length; i++) {
dataArray.push({ traveller_id:travellerId, country_id:registerJson[i].id })
};
models.travellers_countrie.bulkCreate(dataArray)
.then(() => {
return models.travellers_countrie.findAll();
}).then(paises => {
console.log(paises)
})
.catch(error => {
console.log('estamos en el error');
console.log(error);
let response = Errors.errorResponse(error);
res.status(500).send(response);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.