草庐IT

javascript - 如何启动和停止 RXJS 中的可观察间隔?

我有一个非常简单的timeInterval可观察对象,我想在不断开订阅者的情况下开始/停止传输(无论可观察状态如何,订阅者都应该坐下来等待)。有可能吗?如果可能的话怎么办?varsource=Rx.Observable.interval(500).timeInterval().map(function(x){returnx.value+':'+x.interval;}).take(10);varsubscription=source.subscribe(function(x){$("#result").append('Next:'+x+'');},function(err){$("#r

javascript - RxJS throttle 行为;立即获得第一个值

示例Plunkr:https://plnkr.co/edit/NZwb3ol8CbZFtSc6Q9zm?p=preview我知道RxJS(5.0beta.4)有以下3种限制方法:auditTime()、throttleTime()和debounceTime()我正在寻找的行为是lodash默认情况下在throttle上执行的行为:>立即给我第一个值!>在连续的值上,保持给定延迟的值,然后发出最后出现的值>当throttledelay结束,回到状态(1)理论上这应该是这样的:inputObservable.do(()=>cancelPreviousRequest()).throttleT

javascript - 使用 RxJS 链接 promise

总的来说,我是RxJS和FRP的新手。我的想法是将我的ExpressJS应用程序中的现有promise链转换为可观察的实践。我知道这可能不是最好的例子,但也许有人可以帮助阐明一些问题。我想做什么:我有两个promise-prom1和prom2我希望prom1在prom2之前运行如果prom1发送reject(err),我想在它开始之前取消prom2。我希望prom1返回的错误消息可供观察者的onError方法使用。varprom1=newPromise(function(resolve,reject){if(true){reject('reason');}resolve(true);}

javascript - 如何在一个简单的 RxJS 示例中不使用主题或命令式操作来管理状态?

我已经用RxJS试验了两个星期了,虽然我原则上喜欢它,但我似乎无法找到并实现管理状态的正确模式。所有文章和问题似乎都同意:Subject在可能的情况下应该避免,以支持通过via转换来插入状态;.getValue()应该完全弃用;和.do除了DOM操作外,也许应该避免?所有这些建议的问题在于,除了“您将学习Rx方式并停止使用Subject”之外,似乎没有任何文献直接说明您应该使用什么。但是我在任何地方都找不到一个直接的例子,它专门指示以无状态和功能的方式对单个流/对象执行添加和删除的正确方法,这是多个其他流输入的结果。在我再次指出相同的方向之前,未发现文献的问题是:TheIntroduc

javascript - Reactive-Extensions/RxJS 和 ReactiveX/rxjs 有什么区别

我有点懵。这些库有什么区别?https://github.com/ReactiveX/rxjshttps://github.com/Reactive-Extensions/RxJSrx之间有什么区别?,@reactivex/rxjsrxjs在npm上。如果你搜索npm有多个rxjs库,哪个是官方的?https://www.npmjs.com/search?q=rx 最佳答案 RxJS4托管于:https://github.com/Reactive-Extensions/RxJSRxJS5(https://github.com/Rea

javascript - 管道 RxJS 可观察到现有主题

有正在使用的现有主题:constfooSubject=newBehaviorSubject(null);还有另一个可观察对象(本例中的另一个主题):constbarSubject=newSubject();barSubject.subscribe(value=>fooSubject.next(),err=>fooSubject.error(err),()=>fooSubject.complete());barSubject.next('bar');代码有效但看起来很笨拙。是否有更好的方法将barSubjectobservable管道(广义上,不一定使用pipe运算符)fooSubjec

javascript - typescript : How to resolve 'rxjs/Rx has no exported member ' SubscriptionLike'

我在这里尝试遵循这个例子https://www.youtube.com/watch?v=gxCu5TEmxXE,但是在执行tsc-p时,出现错误。有什么我需要导入的吗?错误:node_modules/@angular/common/src/location/location.d.ts(1,10):错误TS2305:模块'"...functions/node_modules/rxjs/Rx"'没有导出成员'SubscriptionLike'。TS文件import"zone.js/dist/zone-node";import*asfunctionsfrom"firebase-functio

javascript - 在 rxjs Observable 中抛出错误

我试图在rxjsObservable中抛出一个错误newObservable(subscriber=>{Observable.throw("error1");returnObservable.throw("error2");}).subscribe(()=>{},err=>console.error(err));错误1​​未被捕获。error2给出编译错误:Argumentoftype'(this:Observable,subscriber:Subscriber)=>ErrorObservable'isnotassignabletoparameteroftype'(this:Obser

javascript - rxjs - 丢弃 future 返回的可观察对象

所以这是我的可观察代码:varsuggestions=Rx.Observable.fromEvent(textInput,'keyup').pluck('target','value').filter((text)=>{text=text.trim();if(!text.length)//emptyinputfield{this.username_validation_display("empty");}elseif(!/^\w{1,20}$/.test(text)){this.username_validation_display("invalid");returnfalse;}re

javascript - RxJS Promise Composition(传递数据)

我是Rx的新手,我发现很难找到关于组合promise的文档,以便将来自第一个promise的数据传递到第二个等等。这是三个非常基本的promise,对数据的计算并不重要,只是必须使用先前promise中的数据完成一些异步操作。constp1=()=>Promise.resolve(1);constp2=x=>{constval=x+1;returnPromise.resolve(val);};constp3=x=>{constisEven=x=>x%2===0;returnPromise.resolve(isEven(x));};实现我所说的构图的传统方式:pl().then(p2).