Node js PgSQL承诺不会从查询返回值

时间:2018-11-30 13:49:06

标签: node.js postgresql

我已经关注了PgSql Node js文档,并尝试在Promise中使用查询,但是它不起作用,但是在回调中可以正常使用... 我如何发送查询

import { Pool } from 'pg';
import { dbConnectLink } from '../../config';

const pool = new Pool({
    connectionString: dbConnectLink,
})

let query = (text, params) => {pool.query(text, params)}

export default {
    query
} 

然后我用

import  db  from '../db';

db.query('SELECT NOW() as now', (err, res) => {
            if (err) {
              console.log(err.stack)
            } else {
              console.log(res.rows[0])
            }
})

它工作正常并且得到的结果为'{now:2018-11-30T13:32:15.536Z}' 当我使用诺言

db.query('SELECT NOW() as now')
        .then(res => console.log(res.rows[0]))
        .catch(e => console.error(e.stack))

它引发>'TypeError:无法读取未定义的属性'then'

这有什么问题?

1 个答案:

答案 0 :(得分:0)

您不应使用方括号:

let query = (text, params) => pool.query(text, params)

说明差异here