你可以检查路线处理程序 https://expressjs.com/en/guide/routing.html#route-handlers它接受回调数组,其行为就像中间件一样。文档中的示例:
app.get('/example/d', [cb0, cb1], function (req, res, next) {
所以,就你的情况而言publicShare
可以是回调数组或只是一个回调,其签名只是一个回调接受req
, res
, and next
作为参数。所以,你也可以使用像:
app.get('/', function(req, res, next){}, function(req, res, next){}, ...
为了更简单,您可以使用回调数组:
app.get('/',[cb1, cb2, cb3])
其中 cb1、cb2 和 cb3 是带有 request、response 和 next 参数的回调。它允许您一项一项地运行。 cb1 -> 执行日志 1,然后 cb2 -> 执行日志 2,cb3 -> 执行日志 3,依此类推。
我会用一个例子来简化它:
你会要求水。
1)cb1:购买一罐水。
2) cb2: 在桶或罐子里加入几滴水。
3)cb3:煮沸。
然后,轮到你了。喝!