【发布时间】:2021-05-10 13:36:08
【问题描述】:
所以我有:
async function functionName() {
return await new Promise( async (resolve, reject) => {
try {
//variables and such
for (let i = 0; i < results.length; i++) {
await geo.geocode('mapbox.places', address, async function (err, geoData) {
await db.query(`INSERT INTO table (col1, col2, col3) VALUES($1, $2, $3) ON CONFLICT DO NOTHING`, ["default", val2, val3], (err, res) => {
if (err) {
console.error(err);
return;
}
}
}
}
resolve("resolved")
} catch(e) {
reject(err)
}
}
}
由于某种原因,当我调用此函数时,似乎该函数正在解析,但在解析完成后对数据库进行了查询。如何确保该函数仅在查询完成/数据库更新后才解析?
【问题讨论】:
标签: javascript node.js database asynchronous promise