1 回答
![?](http://img1.sycdn.imooc.com/545863e80001889e02200220-100-100.jpg)
TA贡献1821条经验 获得超6个赞
这只意味着您发送并回复了两次。您第一次将其寄回此处时:res
if(mongoError) {
return res.status(400).json({
errorCode: 400,
errorCodeMessage: 'Bad Request',
errorMessage: mongoError.message
});
}
您发回了响应,但函数仍在继续工作,这意味着该函数将一直运行到此处:
if(mongoResponse) {
res.status(200).json(mongoResponse);
} else {
return res.status(404).json({
errorCode: 404,
errorCodeMessage: 'Not Found',
errorMessage: `Unable to find example with id: ${exampleId}.`
});
}
这里发生第二个响应,这里你得到错误。
我会这样重写代码:
您不是返回响应,而是返回一个表示存在错误,否则:truefalse
const foundMongoError = (mongoError, res) => {
if(mongoError) {
res.status(400).json({
errorCode: 400,
errorCodeMessage: 'Bad Request',
errorMessage: mongoError.message
});
return true;
}
return false;
};
module.exports = {
foundMongoError
};
然后你可以这样写:
if(foundMongoError(mongoError, res)) return;
将停止函数以执行其余代码return
添加回答
举报