【发布时间】:2017-03-21 10:15:07
【问题描述】:
我有一个关于 API 的问题。为什么 express 不实现 Node.js 样式的回调,即 Error-First Callbacks?
router.get('/', function(req, res){
res.send('hello world');
});
此外,我还看到了这个Error handling:
app.use(function (err, req, res, next) {
// logic
})
那么,我的问题是:像上面那样添加错误处理中间件后,我的代码可以认为如下吗?
router.get('/', function(err, req, res, next){
res.send('hello world');
});
如果是这样,我可以使用Q.denodeify 将回调样式转换为承诺样式对吗?因为Q.denodeify,如here 所述,仅处理Node.js 样式(err, result) 回调API
【问题讨论】:
-
在操作 API 请求之前您预计会出现什么错误?
-
@Rayon 我的第一个问题是:为什么 express 没有实现 Node.js 样式的回调,即 Error-First Callbacks? 还是我不明白它的实现?回答您的问题:我想将嵌套回调迁移到 Promise。但可能你是对的,这并不意味着我必须从
router.get的最开始回调开始。 -
在任何
API请求的处理函数中都不可能出现error... -
@ChangLiu 它不使用仅仅因为它不是结果回调而被调用一次的node.js 样式的结果回调。这与
EventEmitter也不使用 node.js 样式的回调的原因相同。
标签: javascript node.js express callback q