Я использую pdf.js для извлечения текстового содержимого из PDF, который я буду использовать дальше для некоторых более обработки, для этого,Проверьте, завершено ли обещание в Javascript?
var complete=0;
var full_text="";
var PDF_render = PDFJS.getDocument("x.pdf").then(function(pdf) {
var page_text = {};
for (i = 1; i <= pdf.numPages; i++){
pdf.getPage(i).then(function(page){
var n = page.pageNumber;
page.getTextContent().then(function(textContent){
var page_text_part = "";
textContent.items.forEach(function (textItem){
page_text_part += textItem.str;
page_text_part += " ";
});
page_text[n] = page_text_part + "\n\n";
++complete;
if (complete == pdf.numPages){
for(var j = 1; j <= pdf.numPages; j++)
full_text += page_text[j];
}
});
});
}
});
Вопрос заключается в том, что pdf.js возвращает обещания, и они выполняются асинхронно, однако мне нужно выполнить некоторую пост-обработку по возвращенному тексту. Для этого мне нужно подождать, пока обещания будут полностью выполнены, и только потом перейдем. Как добиться этого? Пожалуйста помоги.
Это ваш ** 13-й вопрос **. К настоящему времени вы должны форматировать вещи разумно, не спрашивая, проверяя результаты в области предварительного просмотра, прежде чем нажимать кнопку «Отправить вопрос». –
Собственные JavaScript-обещания не предоставляют синхронный API проверки, и вы редко _need_ один. Вместо этого вы можете использовать '. Then', чтобы добавить обработчик, который будет запускаться, когда код будет завершен. Если вы отформатируете свой код, я отправлю ответ, поэтому, пожалуйста, сделайте это. –
Я попытался исправить форматирование, но синтаксис неправильный, вы можете исправить брекеты самостоятельно, пожалуйста, – Undefined