2024年5月15日星期三

[引路]gin-中间件next方法原理解析

原文链接:
https://blog.dianduidian.com/post/gin-%E4%B8%AD%E9%97%B4%E4%BB%B6next%E6%96%B9%E6%B3%95%E5%8E%9F%E7%90%86%E8%A7%A3%E6%9E%90/

  1. 中间件代码最后即使没有调用Next()方法,后续中间件及handlers也会执行;
  2. 如果在中间件函数的非结尾调用Next()方法当前中间件剩余代码会被暂停执行,会先去执行后续中间件及handlers,等这些handlers全部执行完以后程序控制权会回到当前中间件继续执行剩余代码;
  3. 如果想提前中止当前中间件的执行应该使用return退出而不是Next()方法;
  4. 如果想中断剩余中间件及handlers应该使用Abort方法,但需要注意当前中间件的剩余代码会继续执行。

0 评论:

发表评论