【发布时间】:2021-03-19 13:26:10
【问题描述】:
我是 Javascript 的新手,我想连接到数据库并运行一个脚本。然后按顺序获取脚本和运行函数的结果。 如果其中一个功能有任何错误,它应该停止并且不运行其他功能。
我尝试了以下方法:
const {
Client
} = require('pg')
const client = new Client({
'connection info'
})
client.connect()
.then(() => console.log('DB connected'))
.catch(err => console.error('connection error', err.stack))
let dbResult
const data = async() => {
try {
dbResult = await client.query('SCRIPT') // array of json
} catch (error) {
console.log(error);
}
}
const func1 = async() => {
try {
// do something with dbResult
console.log('func1 success msg')
} catch (error) {
console.log('error in func1')
}
}
const func2 = async() => {
try {
// do something with dbResult
console.log('func2 success msg')
} catch (error) {
console.log('error in func2')
}
}
const func3 = async() => {
dbResult.forEach(result => {
// do something
})
try {
// do something with dbResult
console.log('func3 success msg')
} catch (error) {
console.log('error in func3')
}
}
data()
func1()
func2()
func3()
【问题讨论】:
-
此代码是否按原样工作?还是您发现任何错误?
标签: javascript node.js async-await callback