问题标签 [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.
angular - angular2:可观察的所有订阅完成后的 response.json()
我有一个扩展角Http
类的类,我们称之为MyHttp
。我也有MyJwtHttp
扩展类的MyHttp
类。
我希望能够将响应作为 json 返回,问题是如果我正在做这样的事情:
该request
方法的实现是:
这里的问题是该map
函数在类的订阅者之前被调用MyHttp
。这会导致doSomething(res)
json 的输入而不是响应本身。
我尝试过使用last
而不是,map
但它不会将json返回给请求的调用者。
知道如何解决这个问题吗?
angular - 没有执行另一个主题订阅的流
代码在这里:
我希望流将作为 1 工作。当我调用 addProject => 发出值 => 触发发布请求 => 当发布响应 200 继续获取请求(_get 流)=> 我可以订阅 get$ 流其他地方来获取所有最新数据。
实际上:发布成功,但没有进入get请求,似乎代码有问题
请帮忙!
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 了解运营商吗?
typescript - 连接 rxjs Observables
是否可以连接多个可观察对象?
例如:我有 3 个功能:
我想做类似的事情:
或类似的东西:
否则我需要写一个丑陋的金字塔:
有什么东西可以实现我的意志吗?
谢谢
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的代码:
rxjs - 向 Observable 添加数据
我有三个 Observable,它们包含从服务器获取的数据(都是同一类型)。为了很好地显示数据,我想将空数据点添加到流中,以便时间对齐(记录数据的时间)。像这样的东西:
括号表示为空。有没有好的方法来做到这一点?还是我必须完全改变它?
javascript - Rx.Observable.bindCallback 与 rxjs 中的范围
好像在 rxjs 4.x 中,Rx.Observable.fromCallback 接受 scope 作为第二个参数,但是在 5.0 中,这个方法改为 Rx.Observable.bindCallback 并且不接受 scope 参数。如何在 bindCallback 中添加范围参数。例如在 ES6 中。
typescript - Angular2 beta.12 和 RxJs 5 beta.3 的可观察到的错误
你好,
我正在使用在 VS2015 中运行的 Angular2 beta 12。当我将 rxjs 从 5.0.0-beta.2 更新到 beta.3 时,我遇到了一系列通常与我的承诺有关的异常。
例如
map
类型上不存在属性Observable<Response>
share
类型中不存在属性Observable<Response>
- 环境模块声明不能指定相对模块名称
- 环境模块不能嵌套在其他模块或命名空间中。
包.json
问题与此代码中的地图功能有关:
另一方面,问题在于share()
我觉得这可能很重要 - 一系列 rxjs 文件在红色下划线表示相对引用../../Observable
(下面的示例在 interval.d.ts 中)
我的 boot.ts
我的html页面
我很难过,希望能得到一些帮助。
谢谢,丹。
angular - 在 RxJs 5 中共享 Angular Http 网络调用结果的正确方法是什么?
通过使用 Http,我们调用了一个执行网络调用并返回 http observable 的方法:
如果我们采用这个 observable 并向它添加多个订阅者:
我们要做的是确保这不会导致多个网络请求。
这可能看起来像一个不寻常的场景,但实际上很常见:例如,如果调用者订阅 observable 以显示错误消息,并使用异步管道将其传递给模板,我们已经有两个订阅者。
在 RxJs 5 中这样做的正确方法是什么?
也就是说,这似乎工作正常:
但这是在 RxJs 5 中这样做的惯用方式,还是我们应该做其他事情?
注意:根据 Angular 5 new HttpClient
,.map(res => res.json())
所有示例中的部分现在都是无用的,因为现在默认采用 JSON 结果。
javascript - 如何使用 RxJs distinctUntilChanged?
我开始使用 RxJs(使用 v5 测试版),但不知何故我无法弄清楚如何使用distinctUntilChanged
. 如果我在 babel-node 中运行它,下面代码的输出是
这不是我所期望的。为什么只有一个条目通过distinctUntilChanged
?我希望输出是
这是代码
这些函数的 v5 文档中的链接似乎已失效
- - - 编辑 - - -
一些额外的调试:
输出: