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块。
我在这个 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块。