我成功实现了 pdf2json 以使用 node 从 url 获取和读取 pdf。
但是,Azure 函数是一个异步函数,并在执行 pdfPipe.on("pdfParser_dataReady", pdf => {}) 之前完成执行。
我的实现如下
var request = require('request');
var PDFParser = require("pdf2json");
var pdfParser = new PDFParser(this, 1);
var pdfPipe = request({ url: pdfUrl, encoding: null }).pipe(pdfParser);
pdfPipe.on("pdfParser_dataError", err => console.error(err));
pdfPipe.on("pdfParser_dataReady", pdf => {
/// hndle pdfData
});
这在我机器上的节点中运行良好。但我需要将 pdfPipe.on('---', function(){}) 转换为 async 并等待,因为 azure 函数不会等待 pdfPipe 完成。
怎么做?