var documentURLs = ["maca.pdf", "maca2.pdf"] function printDocuments(index){ if(index > documentURLs.length){ return; } else { printJS({ printable: documentURLs[index], type: 'pdf', onPrintDialogClose: function () { console.log(index); printDocuments(index++) } }) } } <button type="button" onclick="printDocuments(0)">Print</button>Esto no incrementa el índice, siempre imprime el primer documento y no se detiene
Se comporta exactamente como debería. Si desea llamar a printDocuments con el siguiente índice, debe usar printDocument(++index) o simplemente printDocument(index+1) , porque es el menos confuso. i++ devuelve el valor actual de i y luego suma 1. ++i primero suma 1 y devuelve ese valor aumentado (entonces i+1 ).