如何为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模块,但还没有运气。主要目标是在“行”事件中完成每个单独的异步函数,然后再转移到下一个“行”事件或“结束”事件。
非常感谢任何反馈
答案 0 :(得分:0)
您正在以错误的方式查看它,尝试对异步代码应用同步限制。它不会起作用。即使它确实如此,结果也会很糟糕,不可扩展。
你应该做些什么,熟悉promises,这是你问题的答案。
主要目标是完成每一个异步功能
标准Promise.all就是这样做的。
我一直在探索
pg
和pg-query-stream
模块,但还没有运气
pg
是一个异步模块,pg-query-stream
应该尽可能快地工作,因为它是一个流。你不阻止流,这不是他们的工作方式。如果您的代码逻辑无法处理从流中分页数据的方式,那么您的代码就会出现问题,而不是流提供程序。然后,再次学习承诺以及如何正确使用它们。