如何成功暂停和恢复 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 模块,但还没有运气。主要目标是在移动到下一个"行"事件或"结束"事件之前完成"行"事件中的每个异步函数。
任何反馈将不胜感激
错误的方式看待它,试图将同步限制应用于异步代码。这是行不通的。即使这样做了,结果也会很糟糕,不可扩展。
相反,你应该做的是熟悉承诺,这是你问题的答案。
主要目标是完成每一个异步函数
标准的Promise.all就是这样做的。
我一直在探索
pg
和pg-query-stream
模块,但还没有运气
pg
是一个异步模块,pg-query-stream
应该尽可能快地工作,因为它是一个流。您不会阻止流,这不是它们的工作方式。如果代码逻辑无法处理从流中分页数据的方式,则代码有问题,而不是流提供程序有问题。再说一次,学习承诺以及如何正确使用它们。