我正在尝试使用await
关键字(使用Babel)编写一个函数,该关键字利用for
循环内的pg-promise library。
import postgres from 'pg-promise';
const pgp = postgres();
const db = pgp(<config options>);
const array = <some array of objects>
for (const element of array) {
try {
let test = await db.query('INSERT INTO <table> (name) VALUES (${name})', { name: element.name });
console.log('test: ', test);
} catch (err) {
console.log("error," err);
}
}
但是,我一直收到db
referant为Unexpected token
的语法错误。在此上下文中使用await
关键字的正确方法是什么?
答案 0 :(得分:2)
原来这是因为您需要先将函数声明为async
才能使用await
import postgres from 'pg-promise';
const pgp = postgres();
const db = pgp(<config options>);
const array = [<some array of objects>]
const runQuery = async (array)=> {
try{
for (const element of array) {
const test = await db.query('INSERT INTO <table> (name) VALUES (${name})', { name: element.name });
return test;
}
} catch (err) {
console.log("error," err);
}
}
runQuery.then((test)=>console.log('test: ', test)).catch(...)
答案 1 :(得分:0)
也可以调用函数async
。