【问题标题】:How does promisify know which variable to return?promisify 如何知道要返回哪个变量?
【发布时间】:2020-12-22 22:36:05
【问题描述】:

我在这个 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 行返回哪个变量(“err”或“row”)?

【问题讨论】:

    标签: node.js node-promisify


    【解决方案1】:

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

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

    【讨论】:

    • 简而言之,promisify 总是期望第一个参数作为错误参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 2018-02-06
    相关资源
    最近更新 更多