请说说koa的app.use执行流程

请说说koa的app.use执行流程,第1张

请说说koa的app.use执行流程

app.use()
,简单说其实就是把函数放到
this.middleware
数组里,然后返回实例对象
this

koa2
中详细点,则是判断是generator函数,用
koa-convert
(其实用的是
co
)转换一次,再存放到
this.middleware
数组里。

use(fn) {    if (typeof fn !== 'function') throw new TypeError('middleware must be a function!');    if (isGeneratorFunction(fn)) {      deprecate('Support for generators will be removed in v3. ' +     'See the documentation for examples of how to convert old middleware ' +     'https://github.com/koajs/koa/blob/master/docs/migration.md');      fn = convert(fn);    }    debug('use %s', fn._name || fn.name || '-');    this.middleware.push(fn);    return this;  }

真正执行是

app.listen

具体源码可以看我这篇文章。
若川:学习 koa 源码的整体架构,浅析koa洋葱模型原理和co原理

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4895932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存