javascript - 没有延迟, 'update' 不会触发

标签 javascript node.js sequelize.js

我有以下代码:

 myTable()
            .update(data, {
                where: criteria
            })
            .then(delay(100))
            .then((entries) => {
            ...
            ...

.then(delay(100)) 部分设置了 100 毫秒的延迟。

如果我不使用该延迟,有时 entries(结果更新的行)不正确,这意味着它们的字段没有更新。但有时他们是。

如果我使用延迟,entries 的内容总是正确的。

为什么我必须设置延迟才能工作?

我本地的 MySQL my.cnf 文件:

[mysqld]
general_log_file = /var/log/mysql.log
general_log = 1
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
innodb_file_per_table = 1
innodb_log_file_size = 100M
interactive_timeout = 32000
lock_wait_timeout = 41536000
net_read_timeout = 120
net_write_timeout = 900
wait_timeout = 32000
max_allowed_packet = 1G
innodb_buffer_pool_size = 1G

在表架构和模型方面: 它有几个 double 列,一对 datetimechar,一个 json 列和一个 枚举列。 它们在模型中的定义相同。

最佳答案

1) 请检查数据库的隔离级别

2) 一般来说 Transaction s 可能是你需要的,如果出现隔离级别的问题,尝试为事务选择不同的隔离级别

3)集群模式可能会导致此类问题

关于javascript - 没有延迟, 'update' 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52898928/

相关文章:

javascript - 向同一对象的属性添加新值

javascript - 如何在 jQuery UI 自动完成中手动聚焦/突出显示项目?

javascript - 如何在 ReactJS 中关闭浏览器或关闭选项卡时调用注销 api?

javascript - 从另一个页面上的链接调用一个页面上的函数

node.js - 如何使用 node.js 设置脚本的最大执行时间?

javascript - 返回父 promise 函数中变量的子 promise 函数?

node.js - NodeJS : Express 3. 0 带有 connect-flash(按照 Passport 本地策略中的建议),仍然发现 req.flash 的异常

javascript - 如何 res.sendFile() 位于 Express.js webapp 的不同目录中的文件?

Node.js(Express.js + Sequelize.js ORM) : Why does query not work with quoted table name?

mysql - 使用 Mysql 数据库在 Node.js 中手动创建用户时出错“TypeError : User. findById is not a function