草庐IT

rxjs_observable

全部标签

javascript - 在另一个项目中使用 marble testing rxjs5 方法

我有一个webapp项目,它使用rxjs5来实现flux我目前正在寻找为其编写单元测试的解决方案。其实我已经在里面实现了自定义的observables,例如:functiongetActivityObservable(events,timeout){returnObservable.create((observer)=>{constdeb=debounce(()=>observer.next(false),timeout||DEFAULT_TIMEOUT);constsub=events.subscribe((e)=>{if(!e){deb.cancel();observer.next

javascript - 基于 rxjs 中的时间处理事件流

我有一个定期向我发送数据包的进程,我需要根据数据包到达的时间等来管理该流。在某些时候,我还会关闭流和进程。现在,我正在使用一组计时器来执行此操作,但我希望我可以使用rxjs来执行此操作,因为它似乎非常适合此类操作。到目前为止,我还没有取得太大的成功。问题流本应定期给我发送数据包,但它通常会偏离很多,有时会卡住。在以下情况下,我想在某个时候关闭流:如果向我发送第一个数据包所需的时间超过startDelay。第一个数据包发送后,如果两个数据包之间有超过middleDelay的停顿。经过一个恒定的时间段maxChannelTime。当我由于上述任何原因要关闭流时,我首先请求它礼貌地关闭,以便

javascript - dojo.store.Observable、JSON REST 和 queryEngine

有谁知道如何在dojo中使用JsonReststore和Observableweapper,比如dojo.store.Observable中的那个?服务器端,我需要什么来实现商店并使其作为可观察的商店工作?客户端呢?文档说http://dojotoolkit.org/reference-guide/1.7/dojo/store/Observable.htmlIfyouareusingaserversidestoreliketheJsonReststore,youwillneedtoprovideaqueryEngineinorderfortheupdateobjectstobeprop

javascript - 函数式 javascript 和 RxJS 中的依赖注入(inject)和模拟

我正在尝试使用RxJS和函数组合将用经典OOJavascript编写的库重写为更具功能性和react性的方法。我从以下两个易于测试的函数开始(我跳过了Observables的导入):创建连接.jsexportdefault(amqplib,host)=>Observable.fromPromise(amqplib.connect(host))创建channel.jsexportdefaultconnection=>Observable.fromPromise(connection.createChannel())测试它们所需要做的就是注入(inject)amqplib或连接的模拟,并确

javascript - 未捕获的类型错误 : Failed to execute 'observe' on 'MutationObserver' : parameter 1 is not of type 'Node'

所以我下面的代码在jsfiddle中独立运行。但出于某种奇怪的原因..在将它推送到实时服务器后,我一直收到此错误:/我无法弄清楚为什么......错误:mycodewitherror.js:23UncaughtTypeError:Failedtoexecute'observe'on'MutationObserver':parameter1isnotoftype'Node'.js:$(document).ready(function(){//Thebelowcollectsuserloginname,newlogindateandtime,andprevioususeURLvarelem

javascript - Angular 和 Observable : how to avoid multiple requests to API within a given time

我在Angular4应用程序中有类似的东西(为了示例,我删除了代码)@Injectable()exportclassSomeService{constructor(privatehttp:Http){}get(id:number){returnthis.http.get('http://somedomain/somemodel/${id}.json');}}一些组件使用它来进行API调用。constructor(privatesomeService:SomeService){}...someMethod(){//codehere...this.someService.get(2).su

javascript - RxJS:我怎样才能使用 event.preventDefault() 来处理掉落事件?

我的标记:Dropfilehere...我的代码:vardropTarget=document.getElementById('drop-target');Rx.Observable.fromEvent(dropTarget,'dragover').subscribe(function(event){event.preventDefault();});vardropStream=Rx.Observable.fromEvent(dropTarget,'drop');dropStream.subscribe(function(event){console.log('Thiswillbeca

javascript - Rxjs: block 和延迟流?

简而言之,尝试将一个非常大的数组分成10个block,并在发出下一个10之前等待5秒。这是我目前拥有的Rx.Observable.from(hugeArray).bufferCount(10).delay(5000)//wanttowait5secs.flatMap(e=>e)//thisneedstogoaftertoflattenthearray,bufferspitsoutarraysofentries.flatMap((data,index)=>Rx.Observable.create(observer=>{//goingtorenderstuffhereobserver.on

javascript - 在 RxJS 中创建一个可观察的 'completed' 事件

给定:thereactiveextensionsdraganddropexample,您将如何订阅一个掉落事件?我已修改代码以订阅“已完成”回调,但它没有完成。(function(global){functionmain(){vardragTarget=document.getElementById('dragTarget');var$dragTarget=$(dragTarget);//Getthethreemajoreventsvarmouseup=Rx.Observable.fromEvent(document,'mouseup');varmousemove=Rx.Observa

javascript - 默认情况下限制所有 observable 的速率

默认情况下,knockout.js中是否有一种方法可以对所有observable进行速率限制?我不想一一扩展我所有的可观察对象。 最佳答案 您可以创建一个函数来代替ko.observable。我这样做只是为了节省打字时间,我自己:varKOB=ko.observable;对于您的情况,它将是(类似于):varKOB=function(value){returnko.observable(value).extend({rateLimit:500});}; 关于javascript-默认情况