嘿,我该如何使用正确的合计最终值来“做”?
let total: number = 0;
for (let articleId in items) {
this.articleService.getArticleById(articleId).subscribe((article: Articles[]) => {//Async
total = totale + article.price;
})
}
doSometihg(total);
谢谢大家
使用fork join并行运行所有异步调用,然后等待它们完成。
当文章返回时,您可以获取总数并继续进行处理。
forkJoin(
items.map(articleId => this.articleService.getArticleById(articleId))
).subscribe((articles: Article[]) => {
const total: number = articles
.reduce((cumulative, article) => cumulative + article.price, 0);
doSomething(total);
});
import { forkJoin } from 'rxjs/observable/forkJoin';
const allObs = forkJoin(...children.map(r => r.validate()));
allObs.subscribe(res => console.log(res)); // Do what you want with the array of results