koa入门

首先搭建一个koa服务示例:

//导入koa,和koa1不同,我们导入的是一个class,因此用大写的Koa表示
const Koa = require( 'koa');
//创建一个KOA对象表示 web app本身
const app = new Koa();
//对于任何请求app将调用该异步函数处理请求
app. use( async ( ctx, next) =>{
await next();
ctx. response. type = 'text/html';
ctx. response. body = '<h1>hello koa2!</h1>';
})
app. listen( 3000);
console. log( 'app start at 3000...')
对每一个http请求,koa将调用我们传入的异步函数来处理。其中,参数ctx是由koa传入封装了request和response的变量,我们可以通过它访问request和response,next是koa传入的将要处理下一个异步函数。

我们首先用await.next()处理下一个异步函数,然后设置response的Content-type和内容。

由async标记的函数为异步函数,在异步函数中可以用await调用另一个函数,这两个关键字将在ES7中引入。

关于koa的执行逻辑,没收到一个http请求,koa就会调用通过app.use注册的async函数,并传入ctx和next。

我们对ctx操作,并设置返回内容,但是为什么要调用await.next。原因是koa把async函数组成一个处理链,每个async函数都可以做一些自己的事情,然后用await调用下一个async函数。我们把每个async函数称为middleware,这些middleware可以组合起来,完成很多有用的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值