1

Подскажите пожалуйста, я использую node.js и node-postgres для получения определенных данных, все подключилось, данные читаются, но только внутри функции. Пример кода:

    const {Client} = require('pg');
    const client = new Client({
    user: 'admin',
    host: '172.15.15.111',
    database: 'some_db',
    password: 'password',
    port: 5432
});
client.connect();
client.query('SELECT code, display_name, description FROM core.actions', (err,res) => {
    var pgCode = JSON.stringify(res.rows);
    client.end();
    console.log(pgCode);
});

Я пытался использовать внутри client.query module.exports.pgCode = pgCode;, но у меня ничего не вышло.

Как я могу передать pgCode в другой js файл, либо во внешнюю среду или как глобальную переменную? Или может есть другой способ получения данных из БД postgres?

1 Answers1

1

Используйте babel или typescript для современного импорта/экспорта переменных! Пример использования с babel

config.js

export const config = {
  user: 'admin',
  host: '172.15.15.111',
  database: 'some_db',
  password: 'password',
  port: 5432
}

client.js

import { config } from './config';
import { Client } from 'pg';
export const client = new Client(config);
client.connect();

wrapper.js

import { client } from './client';

export async function getDataFromDb(text) { const query = client.query(text); return data; }

querytest.js

import { getDataFromDb } from './wrapper';

(async function() { const query = await getDataFromDb(SELECT * FROM "MYTABLE"); console.log(query.rows); })();