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(); } } |
总结一下:
-
写node代码时,要时刻保持异步思想,不然会掉入很多莫名其妙的坑里
-
解决问题的首选方案还是跟踪代码,靠猜测往往会浪费大量时间和精力走弯路....
带格式化地址:
文章是用markdown写的,在点点发布之后直接复制过来的,懒得编辑格式了...
带格式的欢迎到http://walkslowly.diandian.com/查看