在Node.js使用Promise的方式操作Mysql(续)

在之后的开发中,为了做一些事务开发,我把mysql的连接代码从之前的query函数中分离出来了,直接使用原生的方法进行操作,但发现还是有点问题

原因是原生的node-mysql采用了回调函数的方式,同时JS没有在函数内部设定全局变量,也没有流程控制的方法(可能有,不过本人目前基础还是比较差,所以不知道)

 

在网上看到有人用for循环的方式来做事务操作。通过将sql语句存储到数组中,之后通过for循环读取并且进行操作,如果有错误就直接break跳出循环。但是并不适合我的需求。

 

本人为了后续模块添加的便利性,尝试采用了将部分特征分表存储的方式。所以如果要添加一条信息就必须在主表先插入,再获取id,然后在插入分表特征。

因为上述原因,我尝试了多种方法,最终采用使用blue-bird将query函数promise化解决了这个问题。

promise对象因为可以传递对象、错误解决以及链式语法非常适合解决这类问题。(当然await/async可能更加适合吧)

 

posted @ 2017-10-23 11:17  湛蓝玫瑰  阅读(1900)  评论(0编辑  收藏  举报