Koa中间件(middleware)级联原理

2018-05-17  本文已影响0人  ITgecko

前言

中间件工作原理

示例代码

const Koa = require('koa')
const app = new Koa()
app.use((ctx, next) => {
    console.log(1)
    next()
    console.log(3)
})
app.use((ctx) => {
    console.log(2)
})
app.listen(3001)

示例代码2

const Koa = require('koa')
const app = new Koa()
app.use(async (ctx, next) => {
    console.log(1)
    await next() // 这里得到的就是中间件2返回的promise对象
    console.log(3)
})
app.use((ctx) => {
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            console.log(2)
            resolve()
        }, 2000)
    })
})
app.listen(3001)

中间件执行顺序

image.png
上一篇 下一篇

猜你喜欢

热点阅读