jjzjj

observer-pattern

全部标签

javascript - 为什么在对 RxJs Subject 调用 complete() 之后我不能再调用 next() 了?

我有连接Subject()的服务来进行分页。我正在使用next(newData)传递给主题,这让事情保持活力,现在我需要在每个ajax调用上使用complete()并将其传递给主题。但是在执行了一个complete()之后,我开始出错了。我想知道,如果completed()已经被触发,我们是否仍然可以传递Subjectobservables还是next(newData)? 最佳答案 有一些关于堆栈溢出问题的主题信息:here.我鼓励您查看它。关于您的具体问题,受试者一旦完成就不能再发射。这是他们遵守的契约(Contract)的一部分

javascript - RxJS:Observable.create() 与 Observable.from()

这两者有什么区别?returnObservable.create(function(observer){if(array)observer.next([]);elseobserver.next(null);observer.complete();});和returnObservable.from(array?[]:null);我认为它可能是一样的,但效果不一样。 最佳答案 create(...)是一个通用的Observable工厂方法,用于创建一个Observable,您可以在其中明确指定值的方式传递给订阅者例如,如果您要创建一个定

javascript - Mobx:Observable 数组显示不正确

我想了解如何在Mobx中使用可观察数组。我很难弄清楚这是为什么:letentities=observable([]);entities[0]="foo";autorun(()=>{console.log(entities);});写道:[$mobx:Object]0:(...)1:(...)2:(...)3:(...)4:(...)5:(...)6:(...)7:(...)8:(...)9:(...)10:(...)11:(...)12:(...)13:(...)14:(...)15:(...)16:(...)17:(...)...999:(...)而不是经典数组?

javascript - ng-pattern 给出 "Lexer Error"?

作为输入元素的一个属性,我有:ng-pattern="^\d{5}(?:[-\s]\d{4})?$"这个表达式有什么问题?我收到这个错误:LexerError:Unexpectednextcharacteratcolumns0-0[^]inexpression[^\d{5}(?:[-\s]\d{4})?$]. 最佳答案 尝试在^之前和$符号之后添加/。例如ng-pattern="/^\d{5}(?:[-\s]\d{4})?$/"希望对您有所帮助! 关于javascript-ng-patt

javascript - Angular 2 Observable 服务集成测试

我想创建一个集成测试并点击我的实际服务(不是模拟)。我将如何在Angular2中做到这一点?这是我的可观察服务:import{Injectable}from'@angular/core';import{Http,Response,RequestOptions,Headers}from'@angular/http';import{Observable}from'rxjs/Observable';import'rxjs/add/operator/do';import'rxjs/add/operator/catch';import'rxjs/add/operator/map';import'

javascript - "Unsubscribe"函数回调/Observable 中的钩子(Hook) "executor"函数

我对“dispose”或“unsubscribe”函数的目的感到困惑,它(可选)从可观察的“executor”函数返回,如下所示:constRx=require('rxjs');constobs=Rx.Observable.create(obs=>{//weareintheObservable"executor"functionobs.next(4);//wereturnthisfunction,whichgetscalledifweunsubscribereturnfunction(){console.log('disposed');}});consts1=obs.subscribe

javascript - rxjs 中的 Observable.lift 和 Observable.pipe 有什么区别?

Thedocs将Observable.lift(operator:Operator)定义为:CreatesanewObservable,withthisObservableasthesource,andthepassedoperatordefinedasthenewobservable'soperator.和Observable.pipe(operations:...*)为:Usedtostitchtogetherfunctionaloperatorsintoachain.ReturnstheObservableresultofalloftheoperatorshavingbeenca

javascript - 如何推送到 Angular 4 中的数组 Observable?接收脚本

我的服务类有一个属性:articles:Observable;它由使用标准http.get().map()解决方案的getArticles()函数填充。如何手动将新文章推送到这个数组中;一个尚未持久化因此不是httpget的一部分?我的场景是,您创建了一篇新文章,在保存之前我希望Article[]数组将这个新文章推送到它,以便它显示在我的文章列表中。此外,此服务在2个组件之间共享,如果组件A使用ngOnInit()消费服务并将结果绑定(bind)到重复部分*ngFor,更新组件B的服务数组是否会同时更新组件A的ngFor部分中的结果?还是我必须手动更新View?非常感谢,西蒙

javascript - Observable.create(...).map 不是函数

我刚刚学习Pluralsight-使用RxJS进行响应式编程入门为什么不工作?我使用RXJS6.2.0import{Observable}from'rxjs';constnumbers=[1,5,10];constsource=Observable.create(observer=>{letindex=0;letproduceValue=()=>{observer.next(numbers[index++]);if(indexn*2).filter(n=>n>4);source.subscribe(value=>console.log(`value:${value}`),e=>cons

javascript - 如何使用带有复选框的 knockoutjs protected observable?

我将knockoutjs与protectedobservable一起使用,但我遇到了复选框问题。可以找到protected可观察对象的一种实现here但我看到有几个非常相似。可以找到演示我的问题的jsFiddlehere.这是fiddle的一部分。varViewModel=function(){varself=this;self.protectedBool=ko.protectedObservable(true);self.commit=function(){ko.commitProtectedObservables(self);};self.rollback=function(){k