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

广州市官网网站建设价格网站建设公司选哪家

广州市官网网站建设价格,网站建设公司选哪家,网站嵌入播放器,wordpress的icon众所周知#xff0c;异步是nodejs中得天独厚的特点和优势#xff0c;但同时在程序中同步的需求#xff08;比如控制程序的执行顺序为#xff1a;func1 - func2 -func3 #xff09;也是很常见的。本文就是对这个问题记录自己的一些想法。 需要执行的函数#xff…众所周知异步是nodejs中得天独厚的特点和优势但同时在程序中同步的需求比如控制程序的执行顺序为func1 - func2 -func3 也是很常见的。本文就是对这个问题记录自己的一些想法。 需要执行的函数 var func1 function(req,res,callback){ setTimeout(function(){ console.log(in func1); callback(req,res,1); },13000); } var func2 function(req,res,callback){ setTimeout(function(){ console.log(in func2); callback(req,res,2); },5000); } var func3 function(req,res,callback){ setTimeout(function(){ console.log(in func3); callback(req,res,3); },1000); }   可以看出在func1func2和func3中都是用了setTimeout函数执行的时间分别为13秒5秒和1秒。由于nodejs异步的特性如果使用普通的函数调用方法 var req null; var res null; var callback function(){}; func1(req,res,callback); func2(req,res,callback); func3(req,res,callback);   输出内容 in func3 in func2 in func1 原因是因为nodejs是异步的func2不会等func1执行完毕后再执行而是立即执行func3也是如此。由于func3的运行时间最短而率先结束func2次之func1最后。但这明显不是我们想要的结果。怎么办 解决办法一callback //深层嵌套 var req null; var res null; func1(req,res,function(){ func2(req,res,function(){ func3(req,res,function(){ process.exit(0); }) }); });   这种方法虽然能快速的解决但暴露的问题也很明显一是代码维护不方面二是代码的深层嵌套看起来很不舒服。这种方法并不可取。 解决方法二递归调用 function executeFunc(funcs,count,sum,req,res){ if(count sum){ return ; } else{ funcs[count](req,req,function(){ count; executeFunc(funcs,count,sum,req,res); }); } } //同步调用 var req null; var res null; var funcs [func1,func2,func3]; var len funcs.length; executeFunc(funcs,0,len,req,res);   先将多个函数组成一个数组。再可以利用递归函数的特性使程序按照一定的顺序执行。 解决方法三调用类库 随着nodejs的发展响应的类库也越来越多。Step和async 就是其中不错的。 1. Step的调用相对比较清爽 Step( function thefunc1(){ func1(this); }, function thefunc2(finishFlag){ console.log(finishFlag); func2(this); }, function thefunc3(finishFlag){ console.log(finishFlag); } );   2.async 的 series方法就本例而言它的调用方法 var req null; var res null; var callback function(){}; async.series( [ function(callback){ func1(req,res,callback); }, function(callback){ func2(req,res,callback); }, function(callback){ func3(req,res,callback); } ] );
http://www.zqtcl.cn/news/602368/

相关文章:

  • 湖南建设监理工程网站设计类招聘网站
  • 门户网站建设的平台搭建长春专业网站建设推广
  • 网站建设宗旨怎么写网站建设公司外链怎么做
  • 绍兴市交通建设检测中心网站seo专业培训网络班
  • 设计国外网站有哪些玉环在哪里做网站
  • 设计网站思路如何写wordpress 修改登录
  • 网站开发php国外设计网站app吗
  • 智能响应式网站淳安县住房和城乡建设局网站
  • 招投标网站开发企业网站建设之后
  • 如何做好集团网站建设怎么做门淘宝网站
  • 医疗协助平台网站建设方案学生个人网页制作html报告
  • 专注于网站营销服务新浪云搭建wordpress
  • 免费自助建站代理鞍山招聘网最新招聘
  • 营销型类型网站有哪些类型php网站后台制作
  • 安全的网站制作公司百度app最新版本
  • 中小企业建站平台耐克网站建设策划方案
  • wordpress 后台加入链接后_网站显示是标签_不是链接wms智能仓储管理系统
  • 网站建设需要什么硬件和软件有哪些中考网络应用服务平台
  • 为什么网站权重会掉房地产开发网站建设
  • 大连seo整站优化酷播wordpress视频插件
  • 好的网页设计网站学编程要什么学历
  • 做网站公司电话福建城乡建设网站查询
  • 郑州做网站哪个公司好做二手市场类型的网站名字
  • 网站建设与维护里面的个人简历选择网站建设公司好
  • 济南浩辰网站建设公司怎么样wordpress 3.8 问题
  • 柳州正规网站制作公司网站ww正能量
  • 网站seo优化工具网站推广策略方法
  • 企业网站建设知名wordpress 自定义php
  • 用php做的网站有哪些全能网站建设
  • 网站显示正在建设中wordpress 排行榜 页面