this.attachmentList.forEach((attachment, i) => {
this.service.getPageOfAttachment().flatMap(response =>
this.service.download((JSON.parse(response['Content']).mediaUrl)))
.subscribe(response => {
}, error => (console.log(error)),
() => {
if (i > this.attachmentList.length - 1) this.getPdfSharp(pdfSharpByteArray, attachment.entityName, i);
})
})
В конце цикла foreach я проверяю значение «i» и, если оно больше длины списка, вызываю функцию. Проблема в том, что, поскольку я подписываюсь внутри цикла, значение I не всегда находится в правильном порядке, и функция вызывается раньше. Как я могу выполнить итерацию цикла foreach с подписками внутри, а затем вызвать свою функцию, когда цикл и подписки будут завершены?