0

我在这个函数上使用了 util.promisify sqlite3

// Before
db.each("Select * from example;", (error, row) => console.table(row));
db.each = util.promisify(db.each);
// After
async function getRow()
     try {
        console.table(await db.each("Select * from example;")); // line 7
     } catch (e) {
        console.error(e.message);
     }
}

我的问题是,promisify 如何知道在第 7 行返回哪个变量(“err”或“row”)?

4

1 回答 1

0

util.promisify() 仅当回调函数的第一个参数是错误参数时才用于/能够将回调转换为承诺。

所以,它总是会在第 7 行返回“row”。如果有错误,它将转到 catch 块。

于 2020-09-03T16:50:16.540 回答