node.js - どの変数を返すかを promisify はどのようにして知るのでしょうか?

okwaves2024-01-25  7

この 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」) を返すかをどのようにして知るのでしょうか?



------------------------

util.promisify() は、コールバック関数の最初のパラメータがエラー パラメータである場合にのみ、コールバックを Promise に変換するために使用/変換できます。

したがって、常に「row」が返されます。 7 行目。エラーがある場合は、catch ブロックに進みます。

2

つまり、promisify は常に最初のパラメータをエラー パラメータとして期待します。

– ルプジョティ

2020 年 9 月 3 日 16:53

promisify は常にコールバック関数の最初のパラメータをエラー パラメータとして期待し、「コールバック自体」はエラー パラメータとして期待されます。最後のパラメータとして。たとえば、これは次のように約束できます: form.parse(req, (err,fields,uploads) => { //....

– アダーチョックス

2022 年 10 月 11 日 22:33

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。