koa 的 Context
context上下文对象: 该对象类似原生http中的 req + res- 该对象的req,res属性也存在,就是原生没有包装过的req,res- 简单说: context 对象就是从请求到响应 过程中的一个描述对象- next函数:调用下一个中间件 - request(请求对象): 其中包含客户端请求的相关信息 - response(响应对象): 包含响应数据的具体操作#### request常用属性- ctx.request.url(ctx.url) - ctx.request.method(ctx.method) - ctx.request.headers(ctx.headers)#### response常用属性- ctx.response.set(ctx.set) __函数:参数key,val__ - ctx.response.status(ctx.status)- ctx.response.body(ctx.body) #### 小结- 以上所有使用的属性,都可以简写 ctx.xxx - 使用async await的应用场景,如果你出现了异步操作,使用其, 后一个中间件使用了async,前后都使用 - 三主角: __函数前面 async, 内部才能await,要想await能有用,就用promise包裹他__
demo
//引入对象 const Koa = require('koa'); //创建服务器对象 const app = new Koa(); //配置 app.use((ctx,next)=> {ctx.body = 'Hello World';console.log(ctx.url); // /console.log(ctx.method); // GET// { host: 'localhost:8880',// 'cache-control': 'max-age=0',// 'upgrade-insecure-requests': '1',// 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',// accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',// 'accept-encoding': 'gzip, deflate, br',// 'accept-language': 'zh-CN,zh;q=0.9',// connection: 'close' } console.log(ctx.headers);next();}); // Request URL: http://localhost:8880/ // Request Method: GET // Status Code: 200 OK // Remote Address: 127.0.0.1:1080 // Referrer Policy: no-referrer-when-downgrade // Connection: close // Content-Length: 18 // Content-Type: text/plain; charset=utf-8 // Date: Tue, 25 Dec 2018 05:24:55 GMT // Proxy-Connection: keep-alive // test: 123 app.use((ctx)=>{ctx.set('test','123'); //test: 123ctx.status=200; //Status Code: 200 OKctx.body=`<h1>大家好</h1>` //<h1>大家好</h1> }) app.listen(8880,(req,res)=>{console.log('服务器已经启动了 ') })
截图:
转载于:https://www.cnblogs.com/guangzhou11/p/10173403.html
koa 的 Context相关推荐
- Node.js框架对比:Express/Koa/Hapi
Node.js框架对比:Express/Koa/Hapi 引言 Express.js是当今使用最广泛的Node.js Web应用程序框架.它似乎是大多数Node.js Web应用程序中的基本依赖项,即 ...
- 一步步实现koa核心代码
导语:实现简单的koa核心代码,便于理解koa原理.顺便学习koa代码的那些骚操作 简单分析koa 创建一个 http 服务,只绑一个中间件.创建 index.js /** index.js */ c ...
- 【工程化之路】Koa 真解
1. 前言 昨天花费了比较多的时间将Koa的源码阅读了一遍,主要是项目中用到了Koa,为了做的更加得心应手所以先将源码看一下,总体上源码还是非常简单的,没啥难度.一方面为了总结另一方面也是为了不太看懂 ...
- node mysql和koa_2019年NodeJS框架Koa和Express选型比较
Koa和Express都是NodeJS的主流应用开发框架. Express是一个完整的nodejs应用框架.Koa是由Express团队开发的,但是它有不同的关注点.Koa致力于核心中间件功能.nod ...
- Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(环境搭建)
Vue是一套用于构建用户界面的渐进式框架,与其它大型 JS 框架不同,Vue 被设计为可以自底向上逐层应用,更易上手,还便于与第三方库或既有项目整合,因此,Vue完全能够为复杂的单页应用提供驱动. 2 ...
- Serverless SSR 技术在「腾讯在线教育」的实践
我们的团队 IMWeb 团队隶属腾讯公司,是国内最专业的前端团队之一. 我们专注前端领域多年,负责过 QQ 资料.QQ 注册.QQ 群等亿级业务. 目前聚焦于在线教育领域,精心打磨腾讯课堂.腾讯企鹅辅 ...
- Koa2框架快速入门与基本使用
本篇我们讲一下 Koa2 框架的基本使用,希望能帮助大家快速上手 Koa2 是什么?简单来讲,它是一个基于 Node.js 的 web server 框架. 官方文档 Koa2框架使用入门 不使用脚手 ...
- nodejs异常处理过程/获取nodejs异常类型/写一个eggjs异常处理中间件
前言 今天想写一下eggjs的自定义异常处理中间件,在写的时候遇到了问题,这个错误我捕获不到类型?? 处理过程,不喜欢看过程的朋友请直接看解决方法和总结 看一下是什么: 抛出的异常是检验失败异常Val ...
- Koa v2.x 中文文档 上下文(Context)
上下文(Context) 此系列文章的应用示例已发布于 GitHub: koa-docs-Zh-CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. Koa Context 将 ...
最新文章
- 使用智能移动设备访问Ossim制
- arduino 3d打印机_Firefox OS流视频,使用Arduino销售3D打印机等
- SQLAlchemy 基本使用
- 用yeoman搭建react画廊项目笔记
- winform窗体对象 单例模式与泛型结合
- ihttphandler ihttpmodule
- linux 解压bz2文件
- timesten系列一:简介
- android模拟机神器[Genymotion]的使用
- 进去服务器bios设置u盘启动不了系统,重装系统怎么进不了bios设置u盘启动
- jquery导入数据_【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台...
- 1156针最强cpu,1156的CPU什么最好?
- php 九宫格验证码,PHP+Ajax微信手机端九宫格抽奖实例
- 链表结点的物理顺序与逻辑顺序
- Java配车标识英文单词怎么写_车用英语怎么写
- MySQL字符串处理函数
- 用计算机解决逻辑推理问题,逻辑推理问题解决.doc
- 胡扯推荐算法(协同)及其dome实现
- 电脑内存突然爆满的可能解决方法
- 推荐个将其他文档转为pdf的软件:Nitro PDF Creator