Middleware / 中间件

Posted superAnny

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Middleware / 中间件相关的知识,希望对你有一定的参考价值。

中间件格式

module.exports = options => {
  return (ctx, next) => {
    // do something
  }
}

中间件格式为一个高阶函数,外部的函数接收一个 options 参数,这样方便中间件提供一些配置信息,用来开启/关闭一些功能。执行后返回另一个函数,这个函数接收 ctxnext 参数,其中 ctx 为 context 的简写,是当前请求生命周期的一个对象,存储了当前请求的一些相关信息,next 为调用后续的中间件,返回值是 Promise,这样可以很方便的处理后置逻辑。

整个中间件执行过程是个洋葱模型,类似下面这张图:

 

以上是关于Middleware / 中间件的主要内容,如果未能解决你的问题,请参考以下文章

Django中Middleware中间件

中间件-Middleware

middleware中间件

Laravel Middleware 中间件笔记

中间件(Middleware)

Django 中间件 Middleware