koa2中间件

雍飞雨
2023-12-01

koa2中间件原理

中间件的执行顺序?

Koa是从第一个中间件开始执行,遇到 await next() 就进入下一个中间件,一直到执行到最后一个中间件。然后再逆序执行上一个中间件 await next() 后面的代码,一直到第一个中间件 await next() 后面的代码执行完毕才发出响应。

app.use(async (ctx, next) => {
    console.log('1'); 
    await next(); // 调用下一个middleware
    console.log('5')
});

app.use(async (ctx, next) => {
    console.log('2');
    await next(); // 调用下一个middleware
    console.log('4');
});

app.use(async (ctx, next) => {
    console.log('3');
});

输出结果: 12345

在这个例子里,通过输出结果可以看出三个中间件的执行顺序是:
中间件1 -> 中间件2 -> 中间件3 -> 中间件2 -> 中间件1

引入: Koa 中间件的执行顺序 - 简书一、概念 Koa 应用程序是一个包含一组中间件函数的对象。 1. async和await在koa中使用关键词 async 标记的函数是异步函数,在异步函数中使用 await ...https://www.jianshu.com/p/8e77334e513b

命令行  curl -d 'name=laowang&age=20' http://localhost:3000/user/addPerson  这种方式可以不通过postman发送一个post请求

 类似资料: