jjzjj

observable

全部标签

javascript - RxJS,Observable,如何保存值并将映射切换到另一个

//ticker$willupdateevery3s//showHand$willonlytrigerafteruserclickbutton//IwouldliketotakelasttickerpriceasuserorderpricewhenuserclickbuttonletlastPrice:number;this.ticker$//WhatIamdoingnowispreservevaluetovairablehere..do(ticker=>lastPrice=ticker.closePrice).switchMap(()=>this.showHand$).subscri

javascript - document.observe ('dom:loaded' , 函数 () {

有没有办法让这个原型(prototype)js只在dom发生变化而没有加载时触发? 最佳答案 你可以观察到元素是这样变化的$('element').observe('change',function(e){});这是为表单元素保留的-textarea、select和input。最终代码看起来像这样:document.observe('dom:loaded',function(){$('element').observe('change',function(e){//dosomethinghere});});

javascript - Rxjs toPromise 行为不同于可观察的行为

我有一个简单的例子,其中有两个方法创建并返回一个promise。第二个方法buildRedCar()调用第一个方法buildCar(),修改promise返回的值并返回另一个promise。然后,代码调用buildRedCar(),并仅通过控制台记录结果。这在转换为promise时不起作用,但在使用直接可观察对象时它确实起作用。不有效:import*asRxfrom'rx';functionbuildCar():Rx.IPromise{letcar='Car';returnRx.Observable.just(car).toPromise();}functionbuildRedCar(

javascript - 将 observables 数组传递给 zip

我有一个observable数组,想传递给Rx.Observable.zip。我试过了,但根本没有订阅。代码片段(仅作为示例):constsourceOne=Rx.Observable.of('Hello');constsourceTwo=Rx.Observable.of('World!');constsourceThree=Rx.Observable.of('Goodbye');constsourceFour=Rx.Observable.of('World!');constarr$=[sourceOne,sourceTwo,sourceThree,sourceFour];constz

javascript - Intersection Observer API 触发回调,即使元素不在 View 中

我正在尝试查找元素何时出现在屏幕上(尝试实现无限加载器)。为列表中的最后一项绑定(bind)观察者并收听,不幸的是在chrome62mac10.10中,即使我正在观察的元素不在视口(viewport)中,回调也会触发。当我检查相交率时,我可以很容易地阻止它。这是IntersectionObserver的工作方式吗?在此先感谢您的帮助。bindIO();functionioCallback(entries,observer){console.log("entries");console.log(entries);entries.forEach(entry=>{//Eachentrydes

javascript - RiotJS - 如何使用 Observable 模式在子标签之间传递事件?

我不太确定我是否正确理解了可观察对象的工作方式以及如何从挂载的标签中获取引用。我有一个组件。在这个组件中,我们有一个组件和一个组件。目的是避免组件之间的耦合。因此,我希望我的搜索组件在搜索完成(单击按钮)时触发一个事件。此事件应由组件捕获,该组件将根据搜索过滤集合数据。index.html文件使用以下方式加载标签:index.htmlriot.mount(".content","page",null);页面定义如下:page.js组件脚本的简要定义如下:search.jsvarself=this;riot.observable(self);self.filtering=function

javascript - knockout : find out which observable triggerred computed

我有一个包含多个可观察对象的对象。有没有办法在计算中知道哪些可观察的变化,从而知道哪个可观察的触发了计算?提前谢谢你马修 最佳答案 在没有详细说明您要实现的目标的情况下,我会发布此内容,希望它能有所帮助。跟踪更改的一种简单方法是对要跟踪的可观察对象使用.subscribe方法。每次更新observable时,都会触发此方法。self.myValue=ko.observable('initialvalue');self.myValue.subscribe(function(item){alert('myValuehaschangedt

javascript - Rxjs 如何知道可观察到的订阅者有多少?

当我有多个订阅者订阅一个observable时,例如:constmyInterval=Rx.Observable.interval(500);constsubscriptionOne=myInterval.subscribe(val=>doSomething());constsubscriptionTwo=myInterval.subscribe(val=>doSomething());我如何知道有多少订阅者仍然注册到myInterval可观察对象?例如,我需要此信息以防止内存泄漏,以防我忘记取消订阅其中一个? 最佳答案 当使用an

javascript - 如何在 RxJS 中将可变长度数据包流转换为固定长度数据包?

我是RxJS的新手。给定以下流['foo','bar','b','az12','3','4567']我想将其转换为固定大小的数据包(比如3个字节)+余数['foo','ba','rb','az','123','456','7']在现实生活中,它实际上是一个二进制数据缓冲区。我想知道惯用的RxJS方法是什么。我发现的简单方法是:from(['foo','bar','b','az12','3','4567']).pipe(Rx.concatMap(v=>from(v)),Rx.bufferCount(3),Rx.map(v=>v.join(''))).subscribe(v=>consol

javascript - 将 Observables 实现到持久队列库中

目前正在编写一个小型持久队列库,用于将行读取/写入文本文件。这是添加方法,例如:Queue.prototype.add=function(line,cb){getLock(this,err=>{if(err){this.emit('error',err);releaseLock(err,cb);}else{fs.appendFile(this.filepath,line,err=>{err&&this.emit('error',err);releaseLock(err,cb);});}});};我觉得很尴尬的是支持事件发射器和回调(或事件发射器和promise)。换句话说,对于队列中的