微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 为什么我们应该使用()函数的RxJs?

在角度为2的angular.io教程的服务部分,我点击了一个名为of.for的方法,例如:
getHeroes(): Observable<Hero[]> {
  return of(HEROES);
}

或在下面的样本:

getHero(id: number): Observable<Hero> {
  // Todo: send the message _after_ fetching the hero
  this.messageService.add(`HeroService: fetched hero id=${id}`);
  return of(HEROES.find(hero => hero.id === id));
}

在angular.io刚刚解释

used RxJS of() to return an Observable of mock heroes
(Observable).

并没有解释为什么我们应该使用功能,它究竟做了什么,它有什么好处?

解决方法

他们使用()的原因是因为它很容易使用它而不是真正的HTTP调用.

在实际应用程序中,您将实现这样的getHeroes(),例如:

getHeroes(): Observable<Hero[]> {
  return this.http.get(`/heroes`);
}

但是,由于您只想使用模拟响应而不创建任何真正的后端,您可以使用()返回虚假响应:

const HEROES = [{...},{...}];

getHeroes(): Observable<Hero[]> {
  return of(HEROES);
}

你的应用程序的其余部分将工作相同,因为()是一个Observable,你可以稍后订阅链接运算符,就像你使用this.http.get(…).

()的唯一作用是它在订阅时立即将其参数作为单个排放发出,然后发送完整的通知.

原文地址:https://www.jb51.cc/js/156406.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐