【发布时间】:2013-10-18 21:10:23
【问题描述】:
我有一个包含 RESTful API 的 Node 模块。此客户端遵循标准节点回调模式:
module.exports = {
GetCustomer = function(id, callback) { ...}
}
我从各种 Express 路由中呼叫该客户,如下所示:
app.get('/customer/:customerId', function(req,res) {
MyClient.GetCustomer(customerId, function(err,data) {
if(err === "ConnectionError") {
res.send(503);
}
if(err === "Unauthorized") {
res.send(401);
}
else {
res.json(200, data);
}
};
};
问题在于,我认为每次调用此客户端时都检查“ConnectionError”并不是 DRY。我不相信我可以打电话给res.next(err),因为这会作为 500 错误返回。
我在这里缺少节点或 Javascript 模式吗?在 C# 或 Java 中,我会在 MyClient 中抛出相应的异常。
【问题讨论】:
-
如果注册自定义错误处理程序中间件会怎样?
标签: error-handling express routes