質問: require("fs"); router.post("/", async function (req, res) { //PDF作成 wkhtmltopdf( fs.readFileSync("test.html", "utf8"), { output: "test.pdf", pageSize: "letter", } ); -----本当はここの時点でpdfが作成され後続の処理にpdfを使用したい(理想の生成場所) }); -----処理が終わったここでpdfが作成されてしまう(今の生成場所) ```
回答: `wkhtmltopdf`関数は、終了後にコールバックを呼び出す仕様となっています(GitHub)。 `async`関数は`await`を書かなければ非同期関数の結果を**待ちません**ので、`wkhtmltopdf`の結果を`Promise`に変換した上で`await`する必要があります。