当前位置: 首页 > news >正文

电子商务网站建设评估工具网页设计尺寸怎么设计

电子商务网站建设评估工具,网页设计尺寸怎么设计,嘉兴网站建设999 999,微软雅黑做网站上上节实现了上下文的#xff0c;上一节使用了一下中间件#xff0c;这一节来实现 koa 的中间件这个洋葱模型。 思路#xff1a; 储存用户所有的 callback将用户传递的 callback 全部组合起来#xff08;redux 里的 compose#xff09;组合成一个线性结构依次执行#…上上节实现了上下文的上一节使用了一下中间件这一节来实现 koa 的中间件这个洋葱模型。 思路 储存用户所有的 callback将用户传递的 callback 全部组合起来redux 里的 compose组合成一个线性结构依次执行组合完返回一个大的 promise当组合后的 promise 完成后拿到最终的结果响应回去 application.js 代码实现如下核心就是组合方法的实现 const EventEmitter require(events); const http require(http); const context require(./context); const request require(./request); const response require(./response);console.log(kaimo-koa----);class Application extends EventEmitter {constructor() {super();// 防止多个实例共享 context request response 需要进行拷贝this.context Object.create(context);this.request Object.create(request);this.response Object.create(response);// 储存用户所有的 callbackthis.middlewares [];}use(callback) {// 将用户传递的 callback 全部组合起来this.middlewares.push(callback);}// 创建一个上下文createContext(req, res) {// 每次请求都应该是一个全新的 context需要拷贝let ctx Object.create(this.context);// 上下文中有一个 request 对象是自己封装的ctx.request Object.create(this.request);// 上下文中还有一个 req 属性 指代的是原生的 req自己封装的 request 对象上有 req 属性ctx.req ctx.request.req req;// 上下文中还有一个 response 对象是自己封装的ctx.response Object.create(this.response);// 上下文中还有一个 res 属性 指代的是原生的 res自己封装的 response 对象上有 res 属性ctx.res ctx.response.res res;return ctx;}compose(ctx) {// 在数组中取出第一个第一个执行后执行第二个const dispatch (i) {if (i this.middlewares.length) return Promise.resolve();let middleware this.middlewares[i];// 中间件如果不是 async 需要 Promise 包装一下() dispatch(i 1) 就是 nextreturn Promise.resolve(middleware(ctx, () dispatch(i 1)));};return dispatch(0);}async handleRequest(req, res) {const ctx this.createContext(req, res);// 组合成一个线性结构依次执行组合完返回一个大的 promiseawait this.compose(ctx);// 当组合后的 promise 完成后拿到最终的结果响应回去let body ctx.body;res.end(body);}listen(...args) {const server http.createServer(this.handleRequest.bind(this));server.listen(...args);} }module.exports Application;然后我们编写测试 demo.js const Koa require(./kaimo-koa);const app new Koa();const log () {return new Promise((resolve, reject) {setTimeout(() {console.log(kaimo313);resolve();}, 3000);}); };app.use(async (ctx, next) {console.log(1);console.time(kaimo);await next();ctx.body hello 1;console.log(2);console.timeEnd(kaimo); });app.use(async (ctx, next) {console.log(3);await log();ctx.body hello 2;await next();console.log(4); });app.use(async (ctx, next) {console.log(5);ctx.body hello 3;await next();console.log(6); });app.listen(3000);启动服务访问 http://localhost:3000/ nodemon demo.js
http://www.w-s-a.com/news/545006/

相关文章:

  • 网站使用说明书网站建设公司的介绍
  • 推广型网站免费建设网站防盗链设置
  • 建设银行网站查开户行网站反链暴增怎么回事
  • centos7做网站软件实施工程师工资一般多少
  • 专业房产网站建设深圳建设交易集团
  • 政务网站建设标准项目经理接到网站开发怎么开展
  • 网站框架设计好后怎么做网站广告销售怎们做
  • asp技校网站保定八大平台公司
  • wordpress网站前端优化网站备案批量查询
  • 北京企业做网站杭州seo中心
  • 护肤品网站建设前的行业分析wordpress电子书模板
  • 做网站怎么销售.net开发网站怎么样
  • 蚌埠网站优化网站换空间wordpress
  • 微网站开发框架公司企业logo
  • 大淘客官网做的网站打不开网站建设完成
  • 婚纱摄影网站模板让别人做网站怎样才安全
  • 技术支持 骏域网站建设专家佛山网站运营管理教材
  • 个体营业执照可以做网站服务吗电商运营学校培训
  • 企业网站免费推广的方法.wordpress 爱情模板下载地址
  • 轻淘客 轻网站怎么做手机开发人员选项怎么打开
  • 天津做网站制作公司html网站 下载
  • 哪个网站的课件做的好crm客户管理系统全称
  • 网站建设工作室创业计划书seo是什么职位的简称
  • o2o平台网站开发什么是白帽seo
  • 免费建个人手机网站WordPress 简历库
  • 建网站 是否 数据库阳瘘的最佳治疗方法是什么
  • 知晓程序网站怎么做网站基础维护
  • 兼职做网站赚钱吗图片设计制作哪个软件好手机
  • 做手机旅游网站智慧校园登录入口
  • 莆田网站建设维护国外极简网站