首页 > Web开发 > 详细

【koa】koa.js框架原理及特点-学习笔记-1

时间:2020-01-12 20:11:08      阅读:80      评论:0      收藏:0      [点我收藏+]

一、前言

  之前做毕业设计的时候用过express.js作为后端服务器,如今express的原班人马又重新打造了一个新的基于Promise、async以及await的nodeJS的web框架。其框架最大的特点是精简,开发者可以自行定制开发多个koa中间件或者第三方中间件来使用koa框架。因为koa基于javascript语言,所以作为后端框架相对于其他语言,优势在于性能更强,即访问快。

二、特点

  学习的时候有许多没有听过的名词如:中间件,洋葱模型。

  1.   中间件。koa既然需要作为处理前端发来的请求,那么数据获取、处理代码的逻辑总不能都写在一起吧?因此需要把代码拆开分开多个中间件(也可以理解为一个个函数)根据功能、业务等。多个中间件方便进行阅读维护,而且不同中间件之间需要用async以及await进行编写,好处在于实现异步编程,举个例子:A中间件工作是将一幅画上色,而B中间件则是负责将这幅画用画框裱起来,这时候B中间件怎么知道A中间件完成了上色工作呢?总不能A中间件还没完成,B中间件就把画给裱起来了吧?async以及await用阻塞的方式帮助我们实现B等待A完成工作之后再执行自己的工作。
  2.   洋葱模型。工作正如洋葱的结构一样一层一层的进行。如图所示:中间件A得知自己要处理的画的名字之后,中间件B也得知画的名字,此时中间件A还不能表上画框因为画还没上色,要等待中间件B上完色才能进行自己的工作。而洋葱模型正好呈现了这个工作流程关系。

技术分享图片

2.1 洋葱模型示意图 

 1 const Koa = require(‘koa‘);
 2 const app = new Koa();
 3 
 4 // 中间件A
 5 app.use(async (ctx, next) => {
 6   console.log(‘A获取画名字‘)
 7   await next()
 8   console.log(‘A给画表上画框‘)
 9 })
10 
11 // 中间件B
12 app.use(async ctx => {
13   console.log(‘B获取画名字‘)
14   console.log(‘B给画上色‘)
15 })
16 
17 app.listen(3000)

【koa】koa.js框架原理及特点-学习笔记-1

原文:https://www.cnblogs.com/xwh7/p/12183264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!