promisify 如何知道 return 哪个变量?

How does promisify know which variable to return?

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

// 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 行中 return 的哪个变量(“错误”或“行”)?

util.promisify() used/able 仅当回调函数的第一个参数是错误参数时才将回调转换为 promise。

所以,它总是return第7行的“行”。如果有错误,它会转到catch块。