rxjs相关内容
升级到 RC6 和 rxjs@5.0.0-beta.11 后,我似乎缺少一些 Observable 对象的扩展. flatMap 算子没了,mergeMap 也没有了.我现在只看到几个操作员.知道我错过了什么吗? 解决方案 我想现在您需要单独导入运算符.如果你往里面看 node_modules/rxjs/add/operator/mergeMap 你应该看到 mergeMap.d
..
将我的 Angular 项目从版本 5 更新到 6 后,出现此错误: 类型 Observable' 不可分配给类型 Observable'. 在我的 todo.service.ts import { Injectable } from '@angular/core';从'@angular/common/http' 导入 { HttpClient };从'../../../enviro
..
效果: @Effect()loadDocsEffect$ = this.actions$.pipe(ofType(myActionTypes.LoadDocs),mergeMap(action => this.myService.getDocs()),地图(数据 => 新的 LoadDocsSuccess(数据)),catchError(error => Observable.of(new Lo
..
我在这里使用 RxJS,但我似乎无法克服这个看似简单的问题. rx.Observable.from([1,2,3,54,3,22,323,23,11,2]).清楚的().订阅(功能下一个(x){console.log('下一步');控制台日志(x);}, 函数错误(x) {console.log('错误');控制台日志(x);}, 函数完成() {console.log('完成');}); 上
..
我正在按照此示例对服务进行单元测试(从 spring 应用程序后端获取请求)https://angular.io/guide/testing#testing-http-services 服务类: @Injectable()出口类 TarifService {构造函数(私有消息服务:消息服务,私有 http:HttpClient){}public getTarifs(): Observabl
..
我需要能够一个接一个地执行 3 个 observable,以便我可以在第二个中使用第一个的结果值,在第三个中使用第一个和第二个结果. 这样的事情(它不起作用,因为 serviceId 在第三个请求中不可见): private setupStuff(): void {this.initRouteParams().pipe(switchMap(serviceId => this.getFile
..
当我在获取另一个资源的结果后需要调用一个资源时,我总是嵌套订阅,如下所示: this.paymentService.getPayment(this.currentUser.uid, this.code).valueChanges().订阅(付款 => {this.payment = 付款;this.gymService.getGym(this.payment.gym).valueChanges(
..
我阅读了 switchMap 和 map,但我仍然不完全理解其中的区别.是否在某些情况下它根本没有区别? 解决方案 两种操作符不同. switchMap:将值映射到 observable.取消之前的内部 observable. 例如: fromEvent(document, 'click').管道(//每次点击重启计数器//第一次点击:0, 1, 2...//第二次点击:取消
..
在下面的示例中,foo 从 bar 接收数据,但在 bar 完成时忽略.foo 在 baz 完成时完成,这不是我想要的行为. var baz = Rx.Observable.interval( 50 ).take( 10 );var foo = baz.select(函数(x){var bar = Rx.Observable.range(x, 3);返回栏;}).转变(); 是否有 switc
..
我正在开发一个 Angular 9 测验应用程序,我使用 RxJS 作为倒数计时器(在容器\记分板\时间\time.component.ts 中),但计时器似乎没有显示.stopTimer() 函数应该在计时器停止的秒数上停止计时器.选择正确答案后计时器应停止,并且计时器应在问题之间重置.每个问题所用的时间应保存到 elapsedTimes 数组中.请在 Stackblitz 上的 TimeCom
..
我如何对这个登录功能进行单元测试,特别是 http post 部分?我制作的 http 模拟没有正确编码,无法进入代码的“if...else"部分.我不想使用 TestBed.测试床太慢了. login(username: string, password: string): Observable{const 标头 = 新标头();headers.append('Content-Type', '
..
你如何在 rxjs 中延迟 .forkJoin()? 这是我有但想使用 delay() 操作符? 返回 forkJoin(this.call1(),this.call2(),this.call3()); 到目前为止我得到了这个: return of(null).pipe(延迟(5000),switchmap(() => this.call1()),switchmap(() => thi
..
我正在尝试实现这个大理石图,具有 N 个 sN$ 的 hipotesis,并且我正在将此流添加到 main$. s1$ +--1--------------------99------>s2$ +------3--------7------------------------------>main$ +---[1]-[1, 3]---[1, 7]---[99, 7]-------------->
..
我想使用传递不同 ID 的相同端点进行多个 HTTP 调用.有没有更好的方法来从 UI 处理这个问题.我们现在无法更改后端,有更好的方法吗? import { Component } from '@angular/core';从'@angular/common/http' 导入 { HttpClient };import { Observable, forkJoin } from 'rxjs';
..
注意这是的简化问题带有 Observable 异步管道问题的 Angular 模板绑定 模板: {{foo()$ |异步}} 源代码: import { Component } from "@angular/core";从“rxjs"导入 { BehaviorSubject, of, Observable };import { tap, delay, map, switc
..
我必须承认我正在用 Angular2 做我的第一步,我在这里遇到了一个问题,我在理解上有一些问题.我正在使用 angular2@2.0.0-beta.0,它依赖于 rxjs@5.0.0-beta.0. 我的目的是发出 HTTP 请求(到 REST 服务)并允许将响应发送给返回的 observable 的多个订阅者.如果我正确理解文档,我可以使用 publish() 函数来转换由例如返回的 O
..
目标:发出一系列同步 http 请求,并能够将它们作为一个可观察流订阅. 示例(不起作用): let query_arr = ['test1','test2','test3']函数 make_request(query_arr){如果(query_arr.length){让有效载荷 = JSON.stringify(query_arr[0]);让标题=新标题();query_arr.spl
..
好的,所以我是 Rx 的完全初学者,不幸的是,我对 js 和 js 中的流也很陌生.我使用这个 https://github.com/trygve-lie/twitter-stream-api 连接到 twitters 流 api 并接收带有推文的 json 对象.到目前为止我有这个代码 var Rx = require('rxjs/Rx');var TwitterStream = requir
..
我的组件中有此代码: ngOnInit() {...this.counterValue$ = 间隔(1000).pipe(switchMap(() => this.perfService.getCounter(this.counterUrl)),map(i => this.updateChart(i)),);this.counterValue$.subscribe(v => console.l
..
我正在运行 Angular 教程,但我无法理解某一部分实际发生了什么.我从搜索中找到了一些示例,但没有具体回答这个问题.代码如下: getHeroes(): Observable{返回 this.http.get(this.heroesUrl).管道(catchError(this.handleError('getHeroes', [])));} 接下来是它调用的错误处理程序: /*** 处
..