Koa学习

最近刚刚看完express的文档,顺便来看看koa的文档,听闻koa比express小巧,可能是下一代的express,但是看见express也开始一个个拆分了它的中间件,感觉貌似他们的主人也不愿意抛弃express呢。

  • 首先来介绍一下ES6的generator,就我现在所能理解的。大概就是在一个函数中,能够有多个返回值(return),而这个返回,是用next触发的。像竹筒倒豆子一样,一次只倒出来一点点。中间件是一个处理的过程,只有处理完毕了,才开始做最终的事情,可以来看一下我的范例。
let addOil=0;
function *Fly(){
	while(addOil!==5){
		console.log("wait");
		addOil++;
	}
	yield "oil is full,spaceship will fly";
	yield "flying";
}
var x=Fly();
console.log(x.next()); // 5个wait和oil is full
console.log(x.next()); // flying

这些中间件就像这个函数中的yield,yield其实就是我们以前学过的return,不过它只是部分返回,相当于是被阻塞到了那个地方,等待下一步的进行。

中间件的想法和这个是类似的,这里卡住了,待更。

  • 关于express的req、res和 koa的ctx的对比。
    其实koa就是在express的上面封装了一层。ctx.req,ctx.res,不过koa貌似有更多的功能。
posted @ 2017-07-07 11:16  海客无心x  阅读(185)  评论(0编辑  收藏  举报