首页 > 解决方案 > 这两种使用 express 中间件的方法有区别吗?

问题描述

我遇到了两种不同的方式来定义 express、use() 中间件,我想知道它们之间是否有任何区别,或者只是语法糖?

一种

const app = express();
app.use(cors());
app.use(responseTime());
app.use(someFunction);
app.use(anotherHandler);
app.use(failureHandler);

const app = express();
app.use(cors())
  .use(responseTime())
  .use(someFunction)
  .use(anotherHandler)
  .use(failureHandler);

标签: express

解决方案


它被称为方法

方法链接是一种在涉及对同一对象执行多个操作的场景中简化代码的技术。

查看Express.js 的源代码和application

app.use = function use(fn) {
  ...
  return this:
}

如您所见,use返回this因此链接是可能的。


推荐阅读