您好我三天前开始学习node.js而且我一直在尝试使用数据泵。到目前为止,我正在使用Express运行节点js,问题是我的进程函数永远不会运行。我在日志中看到这个console.log("Ready To Pump");
所以我能够告诉函数被调用。然而,似乎这个过程仍然悬而未决。 (不确定)。未调用过程函数,因为console.log("We are in the Process");
部分代码未显示在日志中。我在哪里出错了我也知道我的连接字符串有效,因为我有另一个使用相同查询并将数据记录到控制台的功能。我打算将数据从一个postgre数据库传输到另一个。如果从未调用过程函数,我当然不能这样做。我也没有在控制台中出现任何错误。我相信它会挂起,因为console.log("Done");
没有显示
var dpumps =require('datapumps');
Pump = dpumps.Pump;
PostgresqlMixin= dpumps.mixin.PostgresqlMixin;
QueryStream = require('pg-query-stream');
Client = require('pg').Client;
var con = {
host: 'localhost',
port: 5432,
database: 'mydatabase',
user: 'myuser',
password: 'mypass'
};
postgresqlClient = new Client(con) ;
exports.pump = function () {
console.log("Ready To Pump"); //This logs so i know the function is called.
postgresqlCopy = new Pump()
.from(postgresqlClient.query(new QueryStream("SELECT $1~, $2~, $3~ FROM $4~ LIMIT 10",["RowId", "Company", "ArticleNo", "Article"])))
.mixin(PostgresqlMixin(postgresqlClient))
.process(function(data) {
console.log("We are in the Process");
return postgresqlCopy.log(data) ;
})
.logErrorsToConsole()
.run()
.then(function() {
console.log("Done");
console.log(postgresqlClient)
});
};
我指的是this我认为虽然存在一些语法错误
答案 0 :(得分:0)
在.catch(console.error)
之后添加then()
,这样您就会看到是否有一些未处理的错误