如何异步保存
发布于 15天前 作者 zyvas 168 次浏览 来自 问答

untitled1.png

tags是数组,我需要保存里面的数据。我猜是因为异步关系,多个函数内应该不能同时打开数据库或关闭数据库的吧。

如果要对列表里的所有值一个一个来保存,是得用同步还是怎么写?

13 回复

@hezedu 好像不行。这种应该嵌套的。因为打开数据库,关闭数据库~ 同时进行的话,会有问题吧。

@hezedu = =或者说~我需要个人告诉我这可行~再或者异步怎么搞的

@zyvas 啥数据库呀?

@hezedu 我有个问题,如果A,B是保存数据,A打开数据库,关闭数据库,B也是。那么A打开数据库,B打开数据库,A关闭数据库,那B怎么办、? 会有这个问题么

你该把var T = new Tags(tag) 拆放在外面.

@hezedu tag不是每次在变么。 我就是需要对列表里的所有值,保存一遍,var T = new Tags(tag); 是赋值。然后Tags.get是查看是否已经存在,嵌套一个T.save()用来保存标签。 应该是我上面那个问题吧。

1.只需要在启动服务的时候打开1次数据库连接就可以了,在服务停止时候关闭即可,期间你尽管建立数据库(增删改查)请求,DBMS会自动加锁和进行同步异步调度。 2.请使用异步流程控制技术,如async。

@libook 恩。好的谢谢。我研究下

你的代码看起来没有问题。一次请求会占用一个数据库连接,数据库和客户端一般会有一个连接池。如果当前没有可用的连接,请求会被挂起直到其他连接被释放,而连接的维护一般是在客户端做的。 自豪地采用 CNodeJS ionic

回到顶部