Мне нужно позвонить на номер JS и подождать, пока он не закончится с отчетами о стимулсофт.
Я думаю, возможно, у них может быть свой собственный "вкус" asyn c.
Оригинальный код выглядит так
report.renderAsync(() => {
console.log("Report rendered. Pages count: ", report.renderedPages.count);
// Export to PDF
report.exportDocumentAsync((pdfData: any) => {
// Converting Array into buffer
var buffer = Buffer.from(pdfData)
// File System module
var fs = require('fs');
// Saving string with rendered report in PDF into a file
fs.writeFileSync('./Invoice.pdf', buffer);
console.log("Rendered report saved into PDF-file.");
}, Stimulsoft.Report.StiExportFormat.Pdf);
});
Я пробовал различные комбинации аналогично приведенному ниже коду, но я не могу заставить его «ждать» должным образом - все остальное запускается, а затем этот код выполняется в конце,
const result = await report.renderAsync(async() => {
console.log("Report rendered. Pages count: ", report.renderedPages.count); // << this outputs after all code!
// Export to PDF
await report.exportDocumentAsync(async (pdfData: any) => {
// Converting Array into buffer
var buffer = Buffer.from(pdfData)
// File System module
//var fs = await require('fs');
// Saving string with rendered report in PDF into a file
//await fs.writeFileSync('./Invoice.pdf', buffer);
console.log("Rendered report saved into PDF-file.");
return buffer
}, Stimulsoft.Report.StiExportFormat.Pdf);
});
return result