如何成功暂停和恢复 PostgreSQL/node.js 的数据库连接?这是我想要实现的想法:
query
.on('error', function(err) {
// Handle error
})
.on('row', function(row) {
// Process a row but first pause connection so it wont keep getting into 'row' event and finish processing this row first
pgconnection.pause();
async.series([
functions()
])
pgconnection.resume();
})
.on('end', function() {
//Rows have been received and finish
});
现在我一直在探索 pg 和 pg-query-stream 模块,但还没有任何运气。主要目标是在移至下一个“行”事件或“结束”事件之前完成“行”事件中的每个异步函数。
任何反馈将不胜感激
最佳答案
您看错了方向,试图对异步代码应用同步限制。它不会工作。即使这样做了,结果也会很糟糕,无法扩展。
您应该做的是熟悉 promises ,这是您问题的答案。
The main objective is to complete every single async function
标准Promise.all这样做。
I've been exploring
pg
andpg-query-stream
modules but havent got any luck yet
pg
是一个异步模块,pg-query-stream
应该尽可能快地工作,因为它是一个流。您不会阻止流,这不是它们的工作方式。如果您的代码逻辑无法处理从流中分页数据的方式,那么您的代码有问题,而不是流提供程序。然后再次学习 promise 以及如何正确使用它们。
关于javascript - 在 NodeJS 上暂停和恢复 PostgreSQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513701/