node 的 异步 数据库 调用 处理
2015-09-19 21:56
417 查看
相信很多人在使用node 的时候,
一方面会觉得他强大的异步性感到很方便。
但是有时候我们却非要程序能按我们自己的想法
去串行的执行我们的思路。
同样我在编写的过程中也遇到类似的问题,比如for 和 数据库操作就不行写在一块,就会很苦恼,以下有些方法可供借鉴
可供借鉴:
方法一:
总所周知,node有很多第三方库,比如Async等,通过这些库可以在一定层面上解决我们的问题。
方法二:
如果觉得第三方库太麻烦的话,可以使用node的特性,用函数当做参数的特性,当你想要某个函数在某个函数后面执行的时候,
不妨将他作为参数,传进去,等到某些步骤完成的时候,进行回调,就可以实现我们想要的想法。
方法三:
虽然这种方法比较奇怪,但是实验过 确实可以,
就是采用递归的方式,在回调的过程中嵌入递归,这样在一定程度上减少的代码编写的复杂性,但是效率还有待考证,希望知道的人
可以顺便告诉我一下。
一方面会觉得他强大的异步性感到很方便。
但是有时候我们却非要程序能按我们自己的想法
去串行的执行我们的思路。
同样我在编写的过程中也遇到类似的问题,比如for 和 数据库操作就不行写在一块,就会很苦恼,以下有些方法可供借鉴
可供借鉴:
方法一:
总所周知,node有很多第三方库,比如Async等,通过这些库可以在一定层面上解决我们的问题。
方法二:
如果觉得第三方库太麻烦的话,可以使用node的特性,用函数当做参数的特性,当你想要某个函数在某个函数后面执行的时候,
不妨将他作为参数,传进去,等到某些步骤完成的时候,进行回调,就可以实现我们想要的想法。
方法三:
虽然这种方法比较奇怪,但是实验过 确实可以,
就是采用递归的方式,在回调的过程中嵌入递归,这样在一定程度上减少的代码编写的复杂性,但是效率还有待考证,希望知道的人
可以顺便告诉我一下。
相关文章推荐
- nodejs服务器搭建
- LeetCode -- Remove Nth Node From End of List
- Node.js Web框架 - Koa
- Node.js中的中间件与Connect
- Node.js中的Assert模块
- Node.js中的Net模块
- Node.js中的Console模块
- Node.js中的Path模块
- Node.js开发入门—UDP编程
- SpriteBuilder中的CCB Node尺寸
- SpriteBuilder中的CCB Node尺寸
- SpriteBuilder中的CCB Node尺寸
- Node.js的缺陷
- HDFS中datanode节点block损坏后的自动恢复过程
- 执行start-dfs.sh后,datenode没有启动
- node mysql
- [前端] nodejs之路由router
- Delete Node in a Linked List
- CommonJS规范和Nodejs模块机制
- LeetCode---Delete Node in a Linked List