1、callback
pool.connect((err, client, done) => {
if (err) throw err
client.query('SELECT * FROM bmsql_customer WHERE c_w_id = $1', [1], (err, res) => {
done()
if (err) {
console.log(err.stack)
} else {
console.log(res.rows[0])
}
})
})
2、promise
pool
.connect()
.then(client => {
return client
.query('SELECT * FROM bmsql_customer WHERE c_w_id = $1', [1])
.then(res => {
client.release()
console.log(res.rows[0])
})
.catch(err => {
client.release()
console.log(err.stack)
})
})
3、async/await
;(async () => {
const client = await pool.connect()
try {
const res = await client.query('SELECT * FROM bmsql_customer WHERE c_w_id = $1', [1])
console.log(res.rows[0])
} finally {
// Make sure to release the client before any error handling,
// just in case the error handling itself throws an error.
client.release()
}
})().catch(err => console.log(err.stack))
async/awaita啊sync/await