1141330
user.post('/dialog',function (req,res,next) {
res.header('Access-Control-Allow-Origin', '*');
//mongodb数据库查询
types.find(function (err,result1) {
if(err){
console.log(err);
}
//数据库文档的是否查找到的标识
let typesFindFlag=true;
let dialogsFindFlag=true;
for(let i=0,len=result1.length;i<len;i++){
let reg = new RegExp(result1[i].title);
if (reg.test(req.body.text)) {
dialogs.find({ text: 'type' }, function (err, result2) {
if (err) {
console.log(err);
}
result2[0].dialog += '<ol>';
for(let j=0,len=result1[i].list.length;j<len;j++){
result2[0].dialog += '<li><a href="#/work/' + result1[i].list[j] + '">' + result1[i].list[j]+'</a></li>';
}
result2[0].dialog += '</ol>';
//报错行
res.send(result2[0]);
})
typesFindFlag=false;
break;
}
}
if(typesFindFlag){
dialogs.find(function (err,result) {
if(err){
console.log(err);
}
for(let i=0,len=result.length;i<len;i++){
let reg=new RegExp(result[i].text);
if(reg.test(req.body.text)) {
//报错行
res.send(result[i]);
dialogsFindFlag=false;
break;
}
}
})
}
if (dialogsFindFlag) {
dialogs.find({ text: 'nothing' },function (err,result) {
if(err) {
console.log(err);
}
//报错行
res.send(result[0]);
})
}
})
})
场景是我频繁在一个时间段反复访问后出现报错 throw er; // Unhandled 'error' event ^
Error: Can't set headers after they are sent. 网上查询分析后我觉得是第二次请求时,第一个请求未响应完成,然后在第二次请求时产生了两次响应。 但是不知道如何进行处理,求帮助,嘤嘤嘤