我正在尝试为post方法调用服务:
router.post('/execute', myservice.execute);
在myservice.execute内部:
execute(req, res) {
...
res.send(someinfo);
}
但这是一项服务,我不希望它打扰需求和资源。我想做以下事情:
router.post('/execute', myservice.execute, (req, res) => {
// if myservice.execute returns someinfo, i will call res.send(someinfo); otherwise will send new Error()
});
是否可以检查回调的返回?
答案 0 :(得分:0)
您可以使myservice.execute
成为返回someinfo
而不是致电res.send(someinfo)
的公司。然后,在路由文件中:
router.post('/execute', (req, res) => {
var someinfo = myservice.execute(req);
// check `someinfo`, i will call res.send(someinfo); otherwise will send new Error()
});
或者您可以使用middleware
模式:
execute(req, res, next) {
...
req.someinfo = someinfo;
next();
}
在路由器端:
router.post('/execute', myservice.execute, (req, res) => {
var someinfo = req.someinfo;
// check `someinfo`, i will call res.send(someinfo); otherwise will send new Error()
});