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循环中迭代订阅,然后在循环和订阅完成时调用函数?
最佳答案
你想过吗?可能不是最干净的,但我觉得可以。这也有助于waiting observable subscribe inside foreach to end
关于javascript - RXJS Angular-如何在包含可观察对象的foreach循环结束时调用函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52088419/