前言现象代码原因实现 前言请求中间件的设计具象比喻,会将不同中间件的请求进行先后调用,而最后又会借助next反向输出。 现象代码两个函数a b顺序执行,但分别添加了等待next执行某段逻辑。结果a前部分代码执行,b代码执行,到结束,然后a函数后续部分执行完毕。 原因next会等待异步的b执行完之后再调用 实现koa的compose方法,入参为中间件函数列表,返回具有上下文以及next迭代的函数。通过不断循环数组中的中间件,递归返回新的下一个异步方法,参数相同,直到符合中间件数组的长度。