首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Nodejs】994- 一文搞懂koa2核心原理

koa框架的核心目录如下: ── lib ├── application.js ├── context.js ├── request.js └── response.js //...response.js response对象基于node原生res封装了一系列便利属性和方法,供处理请求时调用。...delegates 基本用法就是将内部对象的变量或者函数绑定在暴露在外层的变量上,直接通过 delegates 方法进行如下委托,基本的委托方式包含: getter:外部对象可以直接访问内部对象的值 setter...在application.createContext函数中,被创建的context对象会挂载基于request.js实现的request对象和基于response.js实现的response对象。...我们在源码中可以看到,response.js和request.js使用的是get set代理,而context.js使用的是delegate代理,为什么呢?

61410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    链式操作的用法reject的用法catch的用法all的用法race的用法

    链式操作的用法 所以,从表面上看,Promise只是能够简化层层回调的写法,而实质上,Promise的精髓是“状态”,用维护状态、传递状态的方式来使得回调函数能够及时调用,它比传递callback函数要简单...reject的用法 到这里,你应该对“Promise是什么玩意”有了最基本的了解。那么我们接着来看看ES6的Promise还有哪些功能。我们光用了resolve,还没用reject呢,它是做什么的呢?...catch的用法 我们知道Promise对象除了then方法,还有一个catch方法,它是做什么用的呢?...all的用法 Promise的all方法提供了并行执行异步操作的能力,并且在所有异步操作执行完后才执行回调。...race的用法 all方法的效果实际上是「谁跑的慢,以谁为准执行回调」,那么相对的就有另一个方法「谁跑的快,以谁为准执行回调」,这就是race方法,这个词本来就是赛跑的意思。

    4.4K20

    前端面试-实现一个简版koa

    核心文件四个 application.js:简单封装http.createServer()并整合context.js context.js:代理并整合request.js和response.js request.js...:基于原生req封装的更好用 response.js:基于原生res封装的更好用 开始撸源码 下面涉及到的代码存放到仓库中,需要的自取。...创建context.js/request.js/response.js三个文件 request.js内容 const url = require('url') let request = {} module.exports...= request response.js内容 let response = {} module.exports = response context.js内容 let context = {} module.exports...总结 通过以上我们实现了一个简易的KOA,request/response.js文件还需扩展支持更多属性。 完整代码以及测试用例存放在@careteen/koa,感兴趣可前往调试。

    48220

    【JS】304- KOA2框架原理解析和实现

    上图是koa2的源码目录结构的lib文件夹,lib文件夹下放着四个koa2的核心文件:application.js、context.js、request.js、response.js。...模块二:构造request、response、context对象 阅读koa2的源码得知,其中context.js、request.js、response.js三个文件分别是request、response...我们基于这个原理简单实现一下request.js、response.js,首先创建request.js文件,然后写入以下代码: let url = require('url'); module.exports...这个两个语句当做例子简述一下如果实现koa的response的模块,我们首先创建好response.js文件,然后输入下面的代码: module.exports = { get body() {...现在我们已经实现了request.js、response.js,获取到了request、response对象和他们的封装的方法,然后我们开始实现context.js,context的作用就是将request

    92910

    linux常用命令之文件管理默认情况选项参数注意用法选项用法选项用法参数注意用法选项用法选项注意用法选项注意

    文件名或者目录名,列出该文件名或目录名的信息 注意 “连接的那个字段的意思是:有多少个文件名连接到这个inode号码” MKDIR mkdir – make directories 新建目录 用法...demo: mkdir -m 700 xxxxx -p parent 如果父目录不存在,则会自动新建父目录 RMDIRrmdir – remove empty directories 删除空目录 用法...rmdir [-p] 路径 选项 -p parents,如果上层目录为空,且足够权限,则连同上层目录一起删除 CP cp – copy file and directory,复制文件和目录 用法...不一定和源文件一样 硬链接复制的时候,权限等等属性都和源文件一样 软链接复制的时候,权限默认为777(rwxrwxrwx) RM rm – remove files or directories 用法...recursive 递归删除该目录下所有内容 -f force 强制删除 不作询问 -i prompt 删除之前询问 MV mv – move(rename) files and directories 用法

    2.6K90

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券