我不明白为什么Angular Tutorial不更新.subscribe()
中的英雄列表。
这是本教程中的引言:
尽管组件将英雄删除委托给
HeroService
,但它仍然负责更新自己的英雄列表。组件的delete()
方法立即从该列表中删除了要删除的英雄,并预计HeroService
将在服务器上成功。 组件与heroService.delete()
返回的Observable确实没有任何关系,但是无论如何它必须subscribe
。
最好在.subscribe()
内更新英雄列表,因为那时候我们确定服务器已成功删除英雄了?
我认为假设“ HeroService将在服务器上成功”是不好的,因为我们可能会更新本地英雄列表,并且服务器的删除操作不会成功。
delete(hero: Hero): void {
this.heroes = this.heroes.filter(h => h !== hero);
this.heroService.deleteHero(hero).subscribe();
}
答案 0 :(得分:0)
这取决于您希望自己的应用程序是乐观的还是悲观的。谢谢@R。理查兹:)
基本上,您有两种选择,
使用第一个选项,您可以获得更快的用户体验,第二个选项则更“真实”