rxjs相关内容
我已经开始玩 RxJS5,现在看到不再有 shareReplay 方法. 很可能我经常在 RxJS4 中误用 shareReplay,但现在我正在努力获得我想要的行为,即: 创建一个可观察对象 订阅observable,observable产生一个值 第二次订阅 observable,我得到相同的第一个值 Observable 产生第二个值,两个订阅都获得第二个值 我如何使
..
我的要求是执行响应式表单字段验证,以便仅在用户停止输入后显示错误消息. 如何使用响应式表单和 Rxjs debounceTime 来完成此操作? 我正在寻找一种适用于响应式表单的解决方案 解决方案 实现此功能的(或至少是一种)方法是随时动态删除和添加验证器. 在您的输入上,使用 keydown 绑定,当用户开始输入时,它会去除验证器,以及一个 keyup 绑定,它将运行一
..
有一个位置数组的 Observable: places: Observable>; 在模板中它与异步管道一起使用: ...
在一些用户操作之后,我需要从这个数组中删除具有特定 id 的地方.我的代码中有类似的东西,但它不起作用: deletePlace(placeId: number): void {this.apiService.deletePlace(placeId).订阅
..
我在 Typescript 中有一个抽象基类,如下所示: import {Http, Headers, Response} from 'angular2/http';导出抽象类 SomeService {构造函数(私有 http:Http){}受保护的帖子(路径:字符串,数据:对象){让 stringifiedData = JSON.stringify(data);让标题=新标题();heade
..
我刚刚开始使用 Angular2,但遇到了一个我无法真正理解的问题. 我创建了一些模拟数据: export const WORKFLOW_DATA: Object ={“测试数据阵列":[{ key: "1", name: "Don Meow", source: "cat1.png" },{ key: "2", parent: "1", name: "Roquefort", source:
..
如何将项目附加到 Observable? 这是一些代码: this.logEntries = this.controllerService.getLog(this.controller.remoteID, this.skip, this.max);this.logEntries.subscribe(a => {this.allLogEntries.add(this.logEntries)
..
我有一个 BehaviorSubject,它会定期发出 JavaScript 对象.我想构建另一个 observable,它将发出基础 observable 的先前和当前值,以便比较两个对象并确定增量. pairwise() 或 bufferCount(2, 1) 操作符看起来很合适,但它们只有在缓冲区被填充后才开始发射,但我需要这个 observable 从底层 observable 的第
..
之前在 rxjs4 中,BehaviorSubject 中有一个方法叫做:getValue() (此处的文档). rxjs5中不再存在此方法. 因此,我发现获得 BehaviorSubject 值的唯一解决方案是: let 值;myBehaviorSubject.take(1).subscribe((e) => value = e); 这段代码同步运行(我不完全明白为什么,但它确实
..
我玩弄了 angular2,过了一会儿就卡住了. 使用 http.get 对单个请求工作正常,但我想每 4 秒轮询一次实时数据,经过一段时间的修补并阅读了很多我最终得到的 reactx 内容: Observable.timer(0,4000).flatMap(() =>this._http.get(this._url).分享().map(this.extractData).catch(th
..
总的来说,我是 RxJS 和 FRP 的新手.我的想法是将 ExpressJS 应用程序中现有的承诺链转换为可观察的实践.我知道这可能不是最好的例子,但也许有人可以帮助阐明. 我正在做的事情: 我有两个承诺 - prom1 和 prom2 我希望 prom1 在 prom2 之前运行 如果 prom1 发送一个拒绝(错误),我想在它开始之前取消 prom2. 我希望 prom1
..
尝试使用 async 管道通过 angular 2 组件中的流在窗口调整大小时呈现窗口大小: 尺寸:{{size$ |异步 |json}}
const windowSize$ = new BehaviorSubject(getWindowSize());Observable.fromEvent(window, 'resize').map(getWindowSize).subscr
..
我正在尝试在两个 Observable 上使用 forkJoin.其中一个以流的形式开始...如果我直接订阅它们,我会收到回复,但 forkJoin 不会触发.有什么想法吗? private data$: Observable;私有状态$:Observable;private queryStream = new Subject();....this.data$ = this.queryStrea
..
我有一个对象流,我需要比较当前对象是否与前一个对象不同,并且在这种情况下发出一个新值.我发现distinctUntilChanged 操作符应该完全符合我的要求,但出于某种原因,它从不发出除第一个值之外的值.如果我删除 distinctUntilChanged 值会正常发出. 我的代码: export class SettingsPage {静态获取参数(){返回 [[NavControl
..
我有一个组件,它包装另一个组件 并绑定到 InnerComponent.innerChanged() 自定义事件.我想使用 @output 属性冒泡,但我也想对输出进行去抖动. 我如何使用 RxJS .debounce() 或 .debounceTime() 来做到这一点? 像这样: import {Component, Output, EventEmitter} from 'ang
..
我在尝试订阅 Observable 时遇到一个奇怪的错误. 这里是出现问题的代码的淡化版本: import {Component, Input, OnInit, ViewChild} from '@angular/core';从 'rxjs/Rx' 导入 Rx;@零件({选择器:'动作概述-描述',模板:需要('./actionOverviewDescription.html')})导
..
我尝试链接多个 rx.js observables 并传递数据.Flatmap 应该是拟合运算符,但导入了 import { Observable } from 'rxjs/Observable'; 未找到: 错误 TS2339:属性 'flatmap' 在类型 'Observable' 上不存在 使用的是 rx.js 的 5.0.0-beta.6 版本. public getCurre
..
我有一个像这样调用 API 的服务: 返回 this._http.post(appSettings.apiUrl + 'SomeController/SomeAction', params, {withCredentials: true, headers: this.headers}).timeoutWith(appSettings.maxTimeHttpCalls, Observable.de
..
我设置了一个 service 来跟踪登录的用户.该服务返回一个 Observable 并且所有订阅的组件都会被通知(目前只有一个组件订阅它). 服务: private subject = new Subject();发送消息(消息:布尔值){this.subject.next(消息);}getMessage(): Observable{返回 this.subject.asObservabl
..
我愿意在 Angular 2 中做一个从 60 开始的倒数计时器(即 59、58,57 等...) 为此,我有以下几点: constructor(){Observable.timer(0,1000).subscribe(timer=>{this.counter = 计时器;});} 以上,每秒滴答一次,很好;但是,它按升序排列到无限数量.我不确定是否有办法调整它以便我可以使用倒数计时器.
..
我在我的 Angular 组件中遵循一个清理模式,如下所示: class SomeComponent 实现 OnInit, OnDestroy {私人销毁$ = new Subject();ngOnInit() {service.someStream().takeUntil(this.destroy$).subscribe(doSomething);}ngOnDestroy() {this.de
..