【问题标题】:Why Does Not Angular Tutorial Update Heroes List in .subscribe()?为什么 Angular 教程不更新 .subscribe() 中的英雄列表?
【发布时间】:2019-11-30 19:07:22
【问题描述】:

我不明白为什么Angular Tutorial不更新.subscribe()里面的英雄列表。

这是教程中的引述:

虽然该组件将英雄删除委托给HeroService,但它仍然负责更新自己的英雄列表。组件的delete() 方法立即从该列表中删除要删除的英雄,预计HeroService 将在服务器上成功。 组件实际上与 heroService.delete() 返回的 Observable 无关,但无论如何它必须是 subscribe

.subscribe()里面做英雄列表更新是不是更好,因为那时我们确定服务器成功删除了英雄?

我认为假设“英雄服务会在服务器上成功”是不好的,因为有可能我们更新了本地英雄列表,服务器删除不成功。

delete(hero: Hero): void {
  this.heroes = this.heroes.filter(h => h !== hero);
  this.heroService.deleteHero(hero).subscribe();
}

【问题讨论】:

    标签: angular


    【解决方案1】:

    这取决于您希望自己的应用程序是乐观的还是悲观的。谢谢@R。理查兹:)

    基本上你有两个选择,

    1. 立即更新,失败回滚
    2. 成功后更新。

    使用第一个选项,您可以获得更快的用户体验,第二个选项更“真实”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 2017-03-26
      • 1970-01-01
      • 2018-06-15
      • 2017-04-22
      相关资源
      最近更新 更多