3

我正在尝试使用await关键字(使用 Babel)编写一个函数,该函数在循环内使用pg-promise 库。for

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引用对象是Unexpected token. await在这种情况下使用关键字的正确方法是什么?

4

2 回答 2

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(...)
于 2015-12-10T07:56:01.670 回答
0

使调用函数async为好。

于 2017-08-17T09:16:54.207 回答