我正在查看restify的文档。
我注意到有几个函数需要以return next()
结束。以下是一些例子;
function send(req, res, next) {
res.send('hello ' + req.params.name);
return next();
}
server.post('/hello', function create(req, res, next) {
res.send(201, Math.random().toString(36).substr(3, 8));
return next();
});
server.put('/hello', send);
server.get('/hello/:name', send);
server.head('/hello/:name', send);
server.del('hello/:name', function rm(req, res, next) {
res.send(204);
return next();
});
return next();
的目的是什么?为什么功能需要以它结束?
答案 0 :(得分:2)
注意使用next()。您负责调用next()以运行链中的下一个处理程序。如下所示,您可以传递一个Error对象,让restify自动将响应返回给客户端。
所以基本上如果你的函数是链中的最后一个处理程序,你就不需要调用next()
,因为没有办法知道你添加它,让Restify处理它。