【问题标题】:Mimic a HTTP Observable return with subject使用主题模拟 HTTP Observable 返回
【发布时间】:2017-06-13 03:45:17
【问题描述】:

我创建了一个 Angular 4 服务,该服务当前使用 HTTP 请求返回 Comment 类型的 Observable。

  return this.http.post(targetUrl, JSON.stringify({ 'Text': comment.Text, 'ThreadId': threadId }), options)
    .map(this.extractData)
    .catch(this.handleError);

当我在本地主机上时,我希望此服务返回我构造成变量的本地数据。但是,我不能只返回注释类型的局部变量,因为它不是 Observable。如何将这个局部变量变成可观察的?

【问题讨论】:

  • 这解决了我的问题,但我将如何使用 rxjs 中的 Subject 类?
  • 你认为你为什么需要这样做?
  • 由 Angular 2+ 经验比我更有经验的人推荐

标签: angular typescript rxjs


【解决方案1】:

只需将您的变量作为参数传递给 Observable.of 方法。 它将返回一个 observable。

*您可以使用主题完成相同的操作,但我不明白为什么您会在这种情况下使用主题。 总之,

var subject = new Subject();
subject.next(variable);
subject.asObservable();

Rx.Observable.of(...args) 将参数转换为可观察序列。

https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/of.md

【讨论】:

    猜你喜欢
    • 2019-12-07
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 2019-10-11
    • 2016-10-21
    • 1970-01-01
    相关资源
    最近更新 更多