Node.js-如何在每个流迭代中使用异步函数?

时间:2018-08-02 11:22:07

标签: node.js postgresql

我在Postgres中有一个非常大的表,我想对该表的每一行进行异步操作。

因此,我正在使用pg-query-stream模块通过流获取输入数据,并且其性能非常好。我还在下面的代码中使用event-stream模块-es-但不是强制性的,只是在这里描述整个情况。

节点使用越来越多的内存,因为调用堆栈不断累积,直到达到极限并崩溃为止。

在这种情况下,哪种模式更好?

这是我的代码:

pool.connect(function(err, client, done) {
    if(err) throw err;
    var query = new QueryStream("SELECT * FROM largeTable");
    var stream = client.query(query);

    stream.on('end', done);
    stream.pipe(
        es.mapSync(function (data) {
            //DO SOMETHING WITH DATA

            mySlowAsyncFunction(data) {
                //THE END
            });
        })
    )
});

0 个答案:

没有答案