2017-06-02 11 views
0

こんにちは、3日前にnode.jsの学習を始めました。データパスを使用しようとしています。これまで私はExpressでノードjを実行していますが、問題は自分のプロセス関数が決して実行されないことです。ログにはconsole.log("Ready To Pump");があるので、関数が呼び出されたことがわかります。しかし、プロセスがハングアップするようです。 (わからない)。コード内のconsole.log("We are in the Process");部分がログに表示されないため、プロセス関数は呼び出されません。ここで私はここで間違ってしまった。私は同じクエリを使用し、コンソールにデータを記録するonother関数を持っているので、私の接続文字列が動作することも知っています。あるpostgreデータベースから別のpostgreデータベースにデータを転送するつもりです。そして、私のプロセス機能が決して呼び出されないなら、確かに私はそれを行うことができません。私はコンソールにもエラーはありません。私はthisを参照しています私はconsole.log("Done");PostgreSQLを使用したNodeJs DataPump:プロセスがハングする

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) 
     }); 

}; 

のいずれかが表示されないので、それがハング信じている私は、そのいくつかのエラーである場合ので、あなたが表示されます

答えて

0

then().catch(console.error)を追加しても、いくつかの構文エラーがあると思います未処理

+0

私はしましたが、私はまだ何も見ません。それはちょうど実行されませんが、それはハングアップしないことに気づいた – flexxxit

関連する問題