【发布时间】:2018-11-16 04:35:51
【问题描述】:
我在一个对象数组上进行迭代,每次迭代我都运行一个 observable.subscribe,我如何确保所有的订阅都完成了,所以我可以调用另一个函数?
这是函数
calculaSimulacoesPorInscricao(){
let lista = ["2019-01-01","2020-02-02","2021-01-01","2022-01-01","2023-01-01"];
this.cliente.coberturas.forEach(cobertura => {
cobertura.MovimentosProjetados = [];
this._dataService.ObterSimulacao(cobertura.codigoInscricao,lista)
.subscribe((data:any[])=>{
data[0].simulacaoRentabilidadeEntities.forEach(simulacao =>{
let movimento = {
dataMovimento: '',
valor: 1,
imposto: 1,
percentualCarregamento: 1,
fundoCotacao: []
};
movimento.dataMovimento = simulacao.anoRentabilidade;
movimento.imposto = cobertura.totalFundos * simulacao.demonstrativo.demonstrativo[0].aliquota;
movimento.percentualCarregamento = simulacao.valorPercentualCarregamento * (cobertura.totalFundos + (cobertura.totalFundos * simulacao.percentualRentabilidade));
movimento.valor = cobertura.totalFundos + (cobertura.totalFundos * simulacao.percentualRentabilidade);
cobertura.MovimentosProjetados.push(movimento);
});
})
});
this.calcularSimulacao();
}
在完成 coberturas.foreach 内的所有订阅后,我需要调用 calcularSimulacao()。有什么建议吗?
【问题讨论】:
-
您想在所有订阅完成后调用一次?还是每次订阅完成时调用?
-
所有订阅完成后
标签: javascript typescript rxjs