用js徒手写一个中间键
- 2020 年 2 月 18 日
- 筆記
什么是中间键? 下图中 C和D 的部分就是中间键

创建一个js文件 middleware.js 内容如下
const App = () => { const req = { type: 'request', params: [] } const res = { type: 'response' } const middlewares = [] const use = fn => middlewares.push(fn) const runMiddlewares = index => { const count = middlewares.length if (index < count) middlewares[index].apply(null, [req, res, () => runMiddlewares(index + 1)]) } const get = (path, fn) => { runMiddlewares(0) fn.apply(null, [res, res]) } return { get, use } } const app = App() app.use((req, res, next) => { req.params.id = 5; console.log(req, 'request object accessed from middleware 1') console.log('Middleware 1') next() }) app.use((req, res, next) => { console.log('Middleware 2') next() }) app.use((req, res, next) => { console.log('Middleware 3') next() }) app.get('/', (req, res) => { console.log('Response object accessd from get function') })
执行这段代码
node middleware.js