javascript - 如何使用 express 故意引发错误
问题描述
在向我的节点服务器发送 axios 请求后,我如何响应我“拒绝”Axios 路由/请求并最终出现在客户端代码的“catch()”中?我知道“res.send(data)”或“res.json(data)”将解析为 promise 的“then()”。有什么我可以回应的会拒绝它吗?
axios.post('/edit-item', {_id: id, updateText: editInput.value, author: author}).then((response) => {
e.target.parentElement.parentElement.children[3].innerHTML = `${response.data}`
}).catch(() => {
//I want to end up here by responding with something from the server
})
解决方案
您可以在 Node.js 中引发将由内部错误处理程序处理的错误,或者您可以返回您选择的状态代码
引发错误:
app.post(req, res, next) {
throw new Error('Something went wrong')
返回错误信息:
app.post(req, res, next) {
res.status(500).send({ error: 'Something failed!' })
}
而不是500
你可以在那里输入任何错误状态代码
一旦返回错误代码,axios 将进入该catch
部分
您可以在此处找到有关错误处理的更多信息:错误处理
推荐阅读
- swift - Xcode自动完成/建议框未显示相对于当前行
- c - 关于 C 中的指针和指针大小的一些基本问题
- c# - 在 Visual Studio 社区中合并文件而不重复;C#、ASP.NET Core 2.1 MVC
- typescript - 为字符串创建单向可分配的打字稿别名
- ms-word - 是否可以阻止 Word 从自动旋转到横向?
- python - Python - 从另一个类中销毁类实例
- java - 将图像添加到产品详细信息页面
- python - 当您遇到多类问题时,校准概率的正确方法是什么?
- algorithm - 如何根据坐标和大小在等轴测投影上订购对象?
- python - 如何在函数 python 测试中模拟函数?