【发布时间】:2015-11-09 04:38:53
【问题描述】:
我在快速路由函数中有以下 ES6 承诺链(即 res 是快速响应对象)。 findQnameForId 是一个 Promise,mongoDelete 和 mysqlDelete 都返回 Promise。当我使用注释掉的代码而不是当前的最后一行时,链可以工作,但我的问题是为什么我不能将 res.send 直接传递给then(如图所示)并让它将结果返回给客户端?
findQnameForId
.then(mongoDelete)
.then(mysqlDelete)
.then(res.send, res.status(400).send);
// .then(function(result) {
// res.send(result);
// })
// .catch(function(err) {
// res.status(400).send(err);
// });
【问题讨论】:
-
使用箭头函数:
.then(() => res.send(), err => res.status(400).send(err))这就是它们的用途。
标签: javascript callback es6-promise