express学习点滴- 永远不要忘记异步

直接上两段代码,因为nodejs基于异步和事件回调的解决方式,涉及到异步的时候,问题往往藏得很深,以下这个简单的问题困扰了很久.之前怀疑是各种问题,到处改.直到最后一步一步跟代码,跟操作数据库部分豁然大悟!!!全是异步搞的鬼...

错误代码:

1
2
3
4
5
6
7
8
if (session){
   //do somethings
} else {
   if (cookie){
     //query monggodb
   }
   next();
}

修改后代码:

1
2
3
4
5
6
7
8
9
10
11
if (session){
   //do somethings
} else {
   if (cookie){
     queryMongodb(callback(){
       next();
     });
   } else {
     next();
   }
}

 

总结一下:

  1. 写node代码时,要时刻保持异步思想,不然会掉入很多莫名其妙的坑里

  2. 解决问题的首选方案还是跟踪代码,靠猜测往往会浪费大量时间和精力走弯路....

带格式化地址:

http://walkslowly.diandian.com/post/2014-01-02/40060657587

转载于:https://www.cnblogs.com/bgjc/p/3502207.html

你可能感兴趣的:(express学习点滴- 永远不要忘记异步)