为什么这些不稳定的函数以“;return next()"

Why do these restify functions end with "return next()"?

本文关键字:next return quot 不稳定 函数 为什么      更新时间:2023-09-26

我正在查看restify的文档。

http://restify.com/

我注意到有几个函数需要以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();的目的是什么?为什么函数需要以它结束?

来自Restify的网站:

注意next()的用法。您负责调用next()以便运行链中的下一个处理程序。如下所示,您可以传入一个Error对象,使restify自动向客户端返回响应。

因此,基本上,如果你的函数是链中的最后一个处理程序,你就不需要调用next(),因为没有办法知道这一点,你可以添加它并让Restify来处理它