1
我是ES6和Promise的新手。我正在嘗試使用pdf.js將PDF文件的所有頁面中的文本提取到字符串數組中。當提取完成後,我想以某種方式解析數組。說PDF文件(通過typedarray
正確傳遞)有4
頁,我的代碼是:如何使用pdf.js正確提取PDF文本
let str = [];
PDFJS.getDocument(typedarray).then(function(pdf) {
for(let i = 1; i <= pdf.numPages; i++) {
pdf.getPage(i).then(function(page) {
page.getTextContent().then(function(textContent) {
for(let j = 0; j < textContent.items.length; j++) {
str.push(textContent.items[j].str);
}
parse(str);
});
});
}
});
它管理的工作,但是,當然,這個問題是我parse
函數被調用4
倍。我只是想在完成4頁提取完成後才撥打parse
。任何建議是受歡迎的。請闡明我。
類似http://stackoverflow.com/a/40494019/1765767 - 使用Promise.all收集頁面承諾,不要忘記鏈接。 – async5
@ async5它的工作原理!我第一次嘗試[this](http://stackoverflow.com/a/28875245/6153990),它稍作修改,但你提供的答案看起來更正確。請回復它作爲答案,以便我可以接受它。謝謝! –