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

无限空间网站免费页面网站制作

无限空间网站,免费页面网站制作,做网站要学些什么,深圳网站设计联系电话众所周知#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.huolong8.cn/news/302994/

相关文章:

  • 代理分佣后台网站开发上海软件公司有哪些
  • 网站icon怎么做的wordpress 慢 google
  • 高端医疗网站模板免费下载用dedecms做两个一样的网站
  • MAKA网站做H5怎么压缩图片网站站开发 流量
  • 郑州网站建设铁哥们大型新型网站
  • 微网站建设哪家优惠wordpress 模板选择
  • WordPress网站404公益页面青岛房产网签备案查询
  • 网上做室内设计好的网站长沙棋牌软件开发公司
  • 网站做支付接口天津星创网站建设有限公司
  • 网站制作 深圳移动端seo关键词优化
  • 山西公司怎么做网站做网站可以用微软雅黑字体么
  • 什么网站上做奥数题灯哥解析 wordpress
  • 建立网站数据库实验报告怎么运行自己做的网站
  • 红安城市建设局投诉网站安顺市哪里可以做网站
  • 网站教程设计12380举报网站制度建设
  • 设计师都上什么网站深圳市汇成品牌营销策划有限公司
  • 国外虚拟主机 两个网站怎样制定一个网站建设方案
  • 上海企业网站改版站长工具查询网站
  • 如何建立一个免费的网站八戒
  • 宿迁做网站上海网站建设定制开发
  • 怎样用模板建网站网页版梦幻西游周游方壶
  • 门户网站开发 价格人工智能搭建
  • 做淘宝客导购网站推广wordpress同步插件
  • 专门做甜点的视频网站简述网站建设优坏的评价标准
  • 附近做网站东莞市建设中心
  • php网站建设一流程百度做的网站国外可以打开吗
  • 汽车网站代码江西做网站的公司有哪些
  • 无忧建站网o2o电子商务平台有哪些
  • ai可以做网站吗学校网站建设主体
  • 邱县企业做网站推广达州市建设规划网站