问题标签 [rxjs5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
235 浏览

angular - angular2:可观察的所有订阅完成后的 response.json()

我有一个扩展角Http类的类,我们称之为MyHttp。我也有MyJwtHttp扩展类的MyHttp类。

我希望能够将响应作为 json 返回,问题是如果我正在做这样的事情:

request方法的实现是:

这里的问题是该map函数在类的订阅者之前被调用MyHttp。这会导致doSomething(res)json 的输入而不是响应本身。

我尝试过使用last而不是,map但它不会将json返回给请求的调用者。

知道如何解决这个问题吗?

0 投票
1 回答
50 浏览

angular - 没有执行另一个主题订阅的流

代码在这里:

我希望流将作为 1 工作。当我调用 addProject => 发出值 => 触发发布请求 => 当发布响应 200 继续获取请求(_get 流)=> 我可以订阅 get$ 流其他地方来获取所有最新数据。

实际上:发布成功,但没有进入get请求,似乎代码有问题

请帮忙!

0 投票
3 回答
3086 浏览

intellij-idea - IntelliJ IDEA 在 rxjs5 中找不到 Observable 的操作符

我刚刚通过npm i rxjs@5.0.0-beta.3.

我有以下示例代码:

例如,当使用 ts-node 时,此代码编译得非常好。

但是在 IntelliJ IDEA 中查看这段代码时,filter()找不到操作符。

在 Observable 实例上使用运算符时,也找不到它们。

建议的静态成员Observable是:

  • create()
  • if()
  • throw()

一个实例的建议成员Observable是:

  • _isScalar()
  • forEach()
  • lift()
  • subscribe()

我也尝试只导入我需要的东西,但我的 IDE 仍然告诉我filter()Observable 实例上不存在:

有什么建议可以让 IntelliJ IDEA 了解运营商吗?

0 投票
1 回答
3780 浏览

typescript - 连接 rxjs Observables

是否可以连接多个可观察对象?

例如:我有 3 个功能:

我想做类似的事情:

或类似的东西:

否则我需要写一个丑陋的金字塔:

有什么东西可以实现我的意志吗?

谢谢

0 投票
1 回答
1593 浏览

typescript - 如何使用 observable 结果然后返回 observable

使用 Rxjs 我需要在 Angular 服务中执行 4 个操作,然后组件使用该服务功能:

-调用函数“ensureHasCache():Observable”

-调用函数“create():Observable”

- 获取 create() 的结果并分配一个局部变量 (this._companies.push (newEntity);)

- 然后返回一个 Observable 以便在 UI 上使用它

这是我的服务代码,其中发生了 4 个操作:

正如您在最后一个 switchMap 中看到的,我需要返回一个 observable,但实际上我已经有了结果。所以我必须调用“fromResult”。但是通过这种方式,即使我实际上不需要它,我也需要创建一个新的 observalbe(“fromResult”创建一个新的 Observable)。

有没有更优雅的方式?

这是fromResult的代码:

0 投票
1 回答
2826 浏览

rxjs - 向 Observable 添加数据

我有三个 Observable,它们包含从服务器获取的数据(都是同一类型)。为了很好地显示数据,我想将空数据点添加到流中,以便时间对齐(记录数据的时间)。像这样的东西:

括号表示为空。有没有好的方法来做到这一点?还是我必须完全改变它?

0 投票
2 回答
3513 浏览

javascript - Rx.Observable.bindCallback 与 rxjs 中的范围

好像在 rxjs 4.x 中,Rx.Observable.fromCallback 接受 scope 作为第二个参数,但是在 5.0 中,这个方法改为 Rx.Observable.bindCallback 并且不接受 scope 参数。如何在 bindCallback 中添加范围参数。例如在 ES6 中。

0 投票
3 回答
11348 浏览

typescript - Angular2 beta.12 和 RxJs 5 beta.3 的可观察到的错误

你好,

我正在使用在 VS2015 中运行的 Angular2 beta 12。当我将 rxjs 从 5.0.0-beta.2 更新到 beta.3 时,我遇到了一系列通常与我的承诺有关的异常。

例如

  1. map类型上不存在属性Observable<Response>
  2. share类型中不存在属性Observable<Response>
  3. 环境模块声明不能指定相对模块名称
  4. 环境模块不能嵌套在其他模块或命名空间中。

包.json

问题与此代码中的地图功能有关:

另一方面,问题在于share()

我觉得这可能很重要 - 一系列 rxjs 文件在红色下划线表示相对引用../../Observable(下面的示例在 interval.d.ts 中)

我的 boot.ts

我的html页面

我很难过,希望能得到一些帮助。

谢谢,丹。

0 投票
21 回答
106399 浏览

angular - 在 RxJs 5 中共享 Angular Http 网络调用结果的正确方法是什么?

通过使用 Http,我们调用了一个执行网络调用并返回 http observable 的方法:

如果我们采用这个 observable 并向它添加多个订阅者:

我们要做的是确保这不会导致多个网络请求。

这可能看起来像一个不寻常的场景,但实际上很常见:例如,如果调用者订阅 observable 以显示错误消息,并使用异步管道将其传递给模板,我们已经有两个订阅者。

在 RxJs 5 中这样做的正确方法是什么?

也就是说,这似乎工作正常:

但这是在 RxJs 5 中这样做的惯用方式,还是我们应该做其他事情?

注意:根据 Angular 5 new HttpClient.map(res => res.json())所有示例中的部分现在都是无用的,因为现在默认采用 JSON 结果。

0 投票
2 回答
29641 浏览

javascript - 如何使用 RxJs distinctUntilChanged?

我开始使用 RxJs(使用 v5 测试版),但不知何故我无法弄清楚如何使用distinctUntilChanged. 如果我在 babel-node 中运行它,下面代码的输出是

这不是我所期望的。为什么只有一个条目通过distinctUntilChanged?我希望输出是

这是代码

这些函数的 v5 文档中的链接似乎已失效

- - - 编辑 - - -

一些额外的调试:

输出: