码迷,mamicode.com
首页 > Web开发 > 详细

2015-08-04个人定制(nodejs中的循环陷阱)

时间:2015-08-29 19:59:52      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

在做用户定制的时候,即为针对每个用户只是显示他参加的保险种类(sistype),遇到了nodejs异步编程的问题,因为在后台的contrller中的getsistyoe中,我需要先对缴费历史表进行用户的核对,如果这个usename在payhist表之中,那么就对其参保种类进行一个对应的设置,比如,在养老表中判断之后存在这个用户username,那么对应的sistype表中的sign应该是sign=1,kind=养老,这两个属性取出来在用户登录之后的界面进行显示。

因为对五个表的操作完全一致,避免代码重复。。。。。。。

但是,遇到的问题::

一开始,只需要payhist表名和sign的属性值。考虑通过循环数组,将其需要变的值的范围放到数组。通过i变量控制实现,但是由于nodejs本身的异步,所以无法实现,其取出的数据都是先全部取出来,然后再进行下一步的sign值的循环,导致最后只是最后一个的sign的属性值。

 

 技术分享

第二,考虑避免循环,用函数来实现,但是这样还是会受到异步编程的影响,因为取结果的时候还是会全部进行完两个函数判断完username存在否,从那个payhist1payhist2表中判断完取出数据之后,然后才进行第二个getsistype函数,而此时已经是最后一个payhist表了,判断的sign也只是最后一个表所对应的,所以也无法实现。

 技术分享

最后还是采用了重复代码的做法。。。:payhist1 payhist2 payhist3

2015-08-04个人定制(nodejs中的循环陷阱)

标签:

原文地址:http://www.cnblogs.com/guoguow/p/4769619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!