jjzjj

Observables

全部标签

javascript - 使用 Angular 2 中的 Observables 获取一次数据

我有一项服务,它在我的许多Angular2组件中多次使用。它从WebAPI获取客户数据并返回一个Observable:getCustomers(){returnthis.http.get(this.baseURI+this.url).map((r:Response)=>{leta=r.json()asCustomer[];returna;});}我将此服务注入(inject)到我的根组件中,并在每个想要访问客户的组件中我只订阅了该Observable:this.customerService.getCustomers().subscribe(v=>this.items=v);但是,订阅

javascript - 我所有的 Observables 错误 'takeUntil is not a function'

出于某种原因,我无法在我的任何可观察对象上使用takeUntil方法。我的IDE(VisualStudioCode)在我编码时将其显示为有效方法,并且编译良好(从typescript),但是当我运行它时,我得到takeUntilisnotafunction在我的任何observables上。我使用的是rxjs版本5.3.0。我可以通过多种方式实现它,但这可能是最直接的:letsubject:BehaviorSubject=newBehaviorSubject({});letunsubscribe:Subject=newSubject();subject.takeUntil(unsubs

javascript - 冷可观察量的用例是什么?

我理解热和冷可观察量之间的区别,但我总是看到人们使用热可观察量而不是冷;事实上,如果有人不小心使用了一个冷的Observable,就会被认为是一个错误,因为它通常是导致不良行为的原因。在什么情况下您更喜欢或使用冷Observable而不是热Observable? 最佳答案 首先请大家点评HotandColdobservables:arethere'hot'and'cold'operators?以确保您对热与冷有透彻的了解。Coldobservables允许生产者懒惰,这是一个非常理想的特性。在没有使用这些值(value)(没有消费者

java - 将 Observables 收集到列表似乎不会立即发出集合

我使用RxJava基本上收集单独发出的Observable列表,并将它们组合成Observable列表(本质上与flatMap相反)。这是我的代码://myEvent.findMemberships()returnsanObservable>myEvent.findMemberships().flatMap(newFunc1,Observable>(){@OverridepublicObservablecall(Listmemberships){Listusers=newArrayList();for(Membershipmembership:memberships){users.ad

java - RxJava 合并 debounced 和 not debounced observables

我有两个可观察对象:ObservableO(open):包含一些内容的文件在textview中打开ObservableE(edit):在textview中编辑的文件内容我想去抖动Eobservable,并将其与Oobservable合并。obs=Observable.merge(E.debounce(2000,TimeUnit.MILLISECONDS),O).subscribe(content->System.out.println("newcontent:"+content))问题是,如果E发出事件E1并且紧接着O发出O1事件,我们有输出:newcontent:O1newconte

android - 如何在最后一个订阅者退订后延迟拆除共享的、无限的 Observables

我们在Android应用程序中使用多种服务。这些服务提供无限的数据Observables,通常通过组合Observables来构造其他服务。这些的buildObservables可能会很昂贵。此外,这些服务通常在多个地方使用,因此它们的Observable应该在订阅者之间共享。示例:LocationService,提供无限Observable,发出当前位置ReminderService,提供无限Observable>,在数据集中每次更改后发出所有存储提醒的列表LocationAwareReminderService,提供无限Observable>Observable.combineLa

ios - RxSwift。依次执行单独的 Observables

我试图让我的Observable仅在前一个Observable完成时才执行。我不能使用flatMap,因为订阅可以从不同的地方调用,而且这个Observables之间没有联系。具体来说:我让我的CollectionView从服务器加载更多内容,并在该用户单击“发送评论”按钮后2秒,而CollectionView仍在加载其批处理。所以我想等到CollectionView更新完成,然后才执行我的评论的发布请求。我创建了一个名为ObservableQueue的类,它工作得很好。但我需要知道它是否存在内存泄漏、死锁等问题,或者我只是遗漏了什么。在这里:extensionCompositeDis

android - 使用 Retrofit 2.0 Observables 时出现错误时如何获取响应正文

我正在使用Retrofit2.0进行返回Observables的api调用。当调用顺利进行并且响应符合预期时,一切正常。现在假设我们有一个错误响应,它会抛出一个onError。即使是错误,我也想阅读响应正文。例子@FormUrlEncoded@POST("tokenLogin")ObservableloginWithToken(@Field("token")Stringpin);当请求和响应有效时,我得到了正确的observable,并且在出现错误时按预期调用了onError。正确答案:{"status":"authenticated"}Observable将其转换为正确的Observ

android - 使用 Retrofit 2.0 Observables 时出现错误时如何获取响应正文

我正在使用Retrofit2.0进行返回Observables的api调用。当调用顺利进行并且响应符合预期时,一切正常。现在假设我们有一个错误响应,它会抛出一个onError。即使是错误,我也想阅读响应正文。例子@FormUrlEncoded@POST("tokenLogin")ObservableloginWithToken(@Field("token")Stringpin);当请求和响应有效时,我得到了正确的observable,并且在出现错误时按预期调用了onError。正确答案:{"status":"authenticated"}Observable将其转换为正确的Observ

javascript - Node.js Streams 与 Observables

了解Observables后,我发现它们与Node.jsstreams非常相似.两者都具有在新数据到达、发生错误或没有更多数据(EOF)时通知消费者的机制。我很想了解两者之间的概念/功能差异。谢谢! 最佳答案 Observables和node.js的Streams都允许您解决相同的基本问题:异步处理一系列值。我认为,两者之间的主要区别与促使其出现的背景有关。该上下文反射(reflect)在术语和API中。在Observables方面,您有一个EcmaScript扩展,它引入了响应式(Reactive)编程模型。它试图用Observe