Questions tagged «rxjs»

JavaScript的响应式扩展(RxJS)是一组库,用于使用可观察的集合和Array Extras样式组成来组成异步和基于事件的程序。

6
'of'与'from'运算符
Observable.of和Observable.from参数格式之间唯一的区别是?喜欢Function.prototype.call和Function.prototype.apply? Observable.of(1,2,3).subscribe(() => {}) Observable.from([1,2,3]).subscribe(() => {})
151 rxjs 

21
如何关闭外部点击的下拉菜单?
当用户单击下拉菜单之外的任何地方时,我想关闭我的登录菜单下拉菜单,我想使用Angular2和Angular2“方法”来完成此操作... 我已经实施了一个解决方案,但是我对此确实没有信心。我认为必须有一种最简单的方法来获得相同的结果,因此,如果您有任何想法...让我们讨论一下:)! 这是我的实现: 下拉组件: 这是我的下拉菜单的组件: 每次将此组件设置为可见时,(例如:当用户单击按钮以显示它时)它将订阅存储在SubjectsService中的“全局” rxjs主题userMenu。 每次隐藏时,它都会退订该主题。 该组件模板内任何位置的每次点击都会触发onClick()方法,该方法只会停止将事件冒泡到顶部(和应用程序组件) 这是代码 export class UserMenuComponent { _isVisible: boolean = false; _subscriptions: Subscription<any> = null; constructor(public subjects: SubjectsService) { } onClick(event) { event.stopPropagation(); } set isVisible(v) { if( v ){ setTimeout( () => { this._subscriptions = this.subjects.userMenu.subscribe((e) => { this.isVisible = false; }) …

14
node_modules / rxjs / internal / types.d.ts(81,44):错误TS1005:';' 安装Angular 6后出现预期的错误
我有一个错误 node_modules / rxjs / internal / types.d.ts(81,44):错误TS1005:';' 预期。 安装Angular 6.之后 检查错误: ERROR in node_modules/rxjs/internal/types.d.ts(81,44): error TS1005: ';' expected. node_modules/rxjs/internal/types.d.ts(81,74): error TS1005: ';' expected. node_modules/rxjs/internal/types.d.ts(81,77): error TS1109: Expression expected.

2
RxJS:我将如何“手动”更新Observable?
我认为我一定会误解一些基本知识,因为在我看来,这应该是最基本的情况,但是对于我的一生,我无法从文档中弄清楚该如何做。 基本上,我希望能够做到这一点: // create a dummy observable, which I would update manually var eventObservable = rx.Observable.create(function(observer){}); var observer = eventObservable.subscribe( function(x){ console.log('next: ' + x); } ... var my_function = function(){ eventObservable.push('foo'); //'push' adds an event to the datastream, the observer gets it and prints // next: foo } 但是我一直无法找到类似的方法push。我正在使用它作为单击处理程序,我知道他们有Observable.fromEvent这个功能,但是我正在尝试将它与React一起使用,我希望能够简单地在回调中更新数据流,而不是使用完全不同的方法事件处理系统。所以基本上我想要这个: …

5
take(1)与first()
我发现了一些AuthGuard使用的实现take(1)。在我的项目中,我使用first()。 两者的工作方式相同吗? import 'rxjs/add/operator/map'; import 'rxjs/add/operator/first'; import { Observable } from 'rxjs/Observable'; import { Injectable } from '@angular/core'; import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { AngularFire } from 'angularfire2'; @Injectable() export class AuthGuard implements CanActivate { constructor(private angularFire: AngularFire, private router: Router) { } canActivate(route: ActivatedRouteSnapshot, …

3
类型“ Observable <any>”上不存在属性“ catch”
在使用Http服务的Angular 2文档页面上,有一个示例。 getHeroes (): Observable&lt;Stuff[]&gt; { return this.http.get(this.url) .map(this.extractData) .catch(this.handleError); } 我克隆了angular2-webpack-starter项目,并自己添加了上面的代码。 我Observable使用导入 import {Observable} from 'rxjs/Observable'; 我假设属性Observable也被导入(.map有效)。查看了rxjs.beta-6的更新日志,未提及任何内容catch。

6
Angular中的Subject vs BehaviorSubject vs ReplaySubject
我一直想了解那些3: 主题,行为主题和重播主题。我想使用它们,并且知道何时以及为什么使用它们的好处是什么,尽管我已经阅读了文档,观看了教程并搜索了google,但我对此一无所知。 那么他们的目的是什么?最好是一个真实的案例,它甚至不必编写代码。 我希望给出一个清晰的解释,而不仅仅是“ a + b =&gt; c您已订阅...。” 谢谢

5
如何从类似于Angular中的http one的静态数据创建Observable?
我正在使用此方法的服务: export class TestModelService { public testModel: TestModel; constructor( @Inject(Http) public http: Http) { } public fetchModel(uuid: string = undefined): Observable&lt;string&gt; { if(!uuid) { //return Observable of JSON.stringify(new TestModel()); } else { return this.http.get("http://localhost:8080/myapp/api/model/" + uuid) .map(res =&gt; res.text()); } } } 在组件的构造函数中,我这样订阅: export class MyComponent { testModel: TestModel; testModelService: …

5
Redux和RxJS,有何相似之处?
我知道Redux是Flux的一个更好的“实现”,或者说它是一种简化设计(应用程序状态管理)的重新设计。 我已经听说过很多关于反应式编程(RxJS)的知识,但是我还没有开始学习它。 所以我的问题是:这两种技术之间是否有任何交叉点(或任何共同点)还是互补的?...或完全不同?
113 javascript  rxjs  redux 

8
什么是“回调地狱”,RX如何以及为什么解决它?
有人可以给出一个清晰的定义,以及一个简单的示例,为不懂JavaScript和node.js的人解释什么是“回调地狱”吗? 什么时候(以哪种设置)发生“回调地狱问题”? 为什么会发生? “回调地狱”是否总是与异步计算相关? 还是在单线程应用程序中也可能发生“回调地狱”? 我在Coursera参加了“反应式课程”,Erik Meijer在他的一次演讲中说RX解决了“回调地狱”的问题。我在Coursera论坛上问什么是“回调地狱”,但我没有明确的答案。 在一个简单的示例上解释了“回调地狱”之后,您还可以说明该简单示例上的RX如何解决“回调地狱问题”吗?

5
什么是Angular中的pipe()函数
管道是用于转换模板中数据(格式)的过滤器。 我遇到了pipe()如下功能。pipe()在这种情况下,此功能究竟意味着什么? return this.http.get&lt;Hero&gt;(url) .pipe( tap(_ =&gt; this.log(`fetched hero id=${id}`)), catchError(this.handleError&lt;Hero&gt;(`getHero id=${id}`)) );

4
如何在Rx Observable上“等待”?
我希望能够等待观察,例如 const source = Rx.Observable.create(/* ... */) //... await source; 天真的尝试会导致等待立即解决,并且不会阻止执行 编辑:我完整的预期用例的伪代码是: if (condition) { await observable; } // a bunch of other code 我知道我可以将其他代码移到另一个单独的函数中并将其传递到订阅回调中,但是我希望能够避免这种情况。

3
最终可以观察到订阅
根据该条款,onComplete和的onError功能subscribe是互斥的。 表示onError或onComplete事件会在我的网站上触发subscribe。 我有一个逻辑块,无论收到错误还是成功完成信息准备工作,都需要执行该逻辑块。 我finally在python中寻找了类似的东西,但是我发现的只是finally需要附加到我创建的可观察对象上。 但是我只想在订阅时以及流结束后(无论成功还是出错)执行该逻辑。 有任何想法吗?
105 javascript  rxjs  rxjs5 

5
Angular 4+ ngOnDestroy()在使用中-销毁可观察到的
在有角度的应用程序中,我们ngOnDestroy()为组件/指令提供了生命周期挂钩,并使用该挂钩取消订阅可观察对象。 我想清除/破坏在@injectable()服务中创建的可观察性。我看到一些帖子说ngOnDestroy()可以在服务中使用。 但是,这是一种好的做法,并且是唯一的方法吗?何时调用它?有人请澄清。

4
rxJS中的管道是什么
我想我有基本概念,但是有些模糊之处 因此,通常这就是我使用可观察的方式: observable.subscribe(x =&gt; { }) 如果要过滤数据,可以使用以下方法: import { first, last, map, reduce, find, skipWhile } from 'rxjs/operators'; observable.pipe( map(x =&gt; {return x}), first() ).subscribe(x =&gt; { }) 我也可以这样做: import 'rxjs/add/operator/map'; import 'rxjs/add/operator/first'; observable.map(x =&gt; {return x}).first().subscribe(x =&gt; { }) 所以我的问题是: 有什么不同? 如果没有区别,为什么功能管道存在? 为什么这些功能需要不同的导入?
103 angular  rxjs  rxjs5 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.