Necesito un búfer de matriz (que se puede usar para generar un PDF) que tenga 137618 bytes. En la función exportFcBwaPDF, cuando se llama en el componente A, el búfer de matriz se carga por completo y tiene los valores que se supone que debe tener.
public exportFcBwaPDF(pdfObject) { ... if (this.isForReporting === true){ pdfObject.arrayBuffer = pdf.output('arraybuffer'); console.log('AB OBAB' , pdfObject.arrayBuffer); console.log('AB FC1' , pdf.output('arraybuffer')); return pdfObject.arrayBuffer; }else { pdf.save('FC-BWA.pdf'); console.log('AB FCBWA 2', pdf.output('arraybuffer')); this.currentFcBwaExport.emit({excel: true}); } }generarExternFcBwaPDF() es una función que se supone que devuelve dicho búfer de matriz después de 15 segundos porque algunos datos necesitan algún tiempo para cargarse por completo para poder imprimirse en un PDF. Respecto a la 2da función: todo desde la línea donde ' let fcBwaPdfObject = {arrayBuffer: ''};' se ve es importante todo lo demás puede ser ignorado.
public generateExternFcBwaPDF(){ // function (JS object, parameter) ; object = {key:value};setTimeout(function (JS object, parameter),time) this.loadData(); this.getCurrentYear(); this.loadMandantData(); this.renderExportTimeStamp(); this.sortByProperty('nr.'); this.loadMandantData(); let fcBwaPdfObject = {arrayBuffer: ''}; setTimeout(this.exportFcBwaPDF(fcBwaPdfObject), 15000); console.log('Generate AB', fcBwaPdfObject.arrayBuffer); return fcBwaPdfObject.arrayBuffer; }Ambas funciones se han codificado dentro del componente A. .
const externExp = new FcBwaExportComponent(this.navService, this.changeColorService, this.userAreaService, this.fcBwaService, this.renderer, this.element, this.document); externExp.isForReporting = true; externExp.generateExternFcBwaPDF(); Llamo a la función generateExternFcBwaPDF dentro del componente B y el búfer de matriz no es lo que estoy buscando. El arraybuffer con 3438 bytes finaliza demasiado pronto. ¿Qué hago mal? ¿Alguien puede explicar por qué no funciona correctamente? 