我無法使用簡單的for循環,因爲request.save是一個函數。所以我嘗試了每個。它完美的工作!在我添加request.save部分之前,我收到以下錯誤消息,它會中斷我的應用程序。跨陣列在Node.JS中迭代保存
錯誤:發送後無法設置標題。
exports.submit = function (req, res) {
Person.find({
cellPhone: req.body.phone
}).exec(function (err, people) {
people.forEach(saveRequest);
}
function saveRequest(item, index) {
var request = new Requests();
request.start = req.body.start.value;
request.finish = req.body.finish.value;
request.phone = req.body.phone;
request.offDay = req.body.date;
request.user = people[index]._id;
request.name = people[index].name;
request.group = people[index].group;
request.save(function (err) {
if (err) {
console.log('request.save');
return res.status(400);
} else {
// Remove sensitive data before login
//user.password = undefined;
//user.salt = undefined;
console.log(request);
res.json(request);
}
});
}
});
你不能多次調用'res.json',你應該使用res.write。由於保存是異步的,我認爲最好是使用Promise –
謝謝!代碼應該是什麼樣子?我試過res.writeHead(200,{'Content-Type':'text/plain'});我嘗試了res.write(200,{'Content-Type':'text/plain'});多次,他們都打破了應用程序。 –