rxjs5相关内容

RxJS takeWhile 但包括最后一个值

我有一个像这样的 RxJS5 管道 Rx.Observable.from([2, 3, 4, 5, 6]).takeWhile((v) => { v !== 4 }) 我想保留订阅直到看到 4,但我希望最后一个元素 4 也包含在结果中.所以上面的例子应该是 2, 3, 4 但是,根据官方文档, takeWhile 运算符不包含.这意味着当它遇到与我们给出的谓词不匹配的元素时,它会立即完成流 ..
发布时间:2021-07-03 19:39:13 其他开发

Rxjs 主题 next() 后 complete()

我有与 Subject() 连接的服务来进行分页.我正在使用 next(newData) 传递给主题,这使事情保持活力,现在我需要在每个 ajax 调用中使用 complete() 并将其传递给主题.但是在做了一个 complete() 之后,我开始出现错误. 我想知道,如果 completed() 已经被触发,我们是否仍然可以通过 Subject observables 仍然 next(n ..
发布时间:2021-06-12 18:31:36 前端开发

-RxJS中的`race`运算符是否相反?

我有两个可观察对象,我想听最后一个发出其第一个值的对象,这是否有一个运算符?像这样的东西: let obs1 = Rx.Observable.timer(500,500);令obs2 = Rx.Observable.timer(1000,1000);//我想要这一个的值令怠惰= Rx.Observable.sloth(obs1,obs2); 可观察到的 sloth 会从 obs2 发出值, ..
发布时间:2021-05-19 20:38:41 前端开发

在一个简单的RxJS示例中,如何在不使用主题或命令式操纵的情况下管理状态?

我已经在RxJS上进行了两个星期的实验,尽管我原则上喜欢RxJS,但是我似乎无法找到并实现用于管理状态的正确模式.所有文章和问题似乎都同意: 应尽可能避免使用 Subject ,而只是通过转换来推动状态; .getValue()应该完全不推荐使用;和 除了DOM操作外,也许应该避免 .do 吗? 所有此类建议的问题在于,除了“您将学习Rx方式并停止使用Subject"之外,没有文献似 ..
发布时间:2021-05-19 19:53:36 前端开发

为什么要使用RxJS interval()或timer()轮询而不是window.setInterval()?

用例:每分钟(60000毫秒)调用一个函数,该函数调度商店操作以获取商品的 lastUpdated 状态,并在响应和过滤后更新商店,且已更新的商店将被视为可观察并显示在视图中).只要Web应用处于打开状态(无限期),就需要执行此操作. 当前,我正在使用此 : this.refreshDate = window.setInterval(()=>this.store.dispatch(ne ..
发布时间:2021-05-19 19:53:15 前端开发

转换rjxs映射并将flatten/reduce转换为flatMap

我相信以下代码可以使用flatMap进行重构,但是我似乎无法使其按需工作. 我了解flatMap本质上是映射然后进行展平,这对我来说是完美的,因为我正在使用forkJoin,因此可以从getAutocompleteSuggestions()返回一系列响应. 我希望在订阅时获得一个结果数组(这是下面的代码生成的结果),但是将顶级映射更改为flatMap会将多个单个对象发送给订阅.如何用f ..
发布时间:2021-04-06 20:56:25 前端开发

Angular 5 RxJs concatMap,switchMap,mergeMap哪个?

我有此方法可通过localstorage获取令牌,如果令牌不存在或已过期,我将调用API以获取另一个令牌并将其存储到localstorage. 在这种情况下,我应该使用哪个地图,当前是否使用mergeMap或其他方式? public doGetToken():Observable{返回this.loadToken().pipe(//通过本地存储获取map(token => ..
发布时间:2021-04-06 19:54:19 其他开发

集中处理Angular 2 http错误

我有一些代码可以处理添加令牌的类中的所有http访问.它返回一个Observable.我想捕获该类中的错误-特别是身份验证问题.我是RXjs初学者,无法弄清楚该怎么做,仍然返回一个Observable.指向一些相当全面的rxJS 5文档(不是源代码!)的指针会很有用. 解决方案 在服务中执行HTTP调用时,可以利用 catch 运算符: getCompanies(){返回this.ht ..
发布时间:2021-04-06 19:41:36 其他开发

在Angular 5 http请求中使用observable有什么好处?

我对在angular 5中使用httpclient感到困惑.我是angular的新手,只是遵循官方的angular教程.我对可观察对象,承诺,管道等不了解很多.目前我有一个用于处理所有http的服务对于发布请求,我正在使用pipe.下面是方法. create(model:any,URI):Observable {返回this.http.post(API_URL + URI,m ..
发布时间:2021-04-06 19:23:08 其他开发

暂停和恢复可观察的视频流,请提出更好的选择

我有必要从可观察对象那里听取项目流.当某些情况出现时,将对该项目执行异步任务,并且组件将处于“忙碌"状态,直到完成为止.我想暂停订阅中的项目,直到此任务完成(因为以下项目的处理取决于结果),然后从序列中的下一个项目继续进行,而不会造成任何损失. 最好在看Plunk的时候阅读下一部分,在这里 为此,我使用了 swtichMap 缓冲一个>.我以为它们可以自己完成工作,但是switchMa ..
发布时间:2021-04-06 18:50:57 其他开发

等待一个可观察的事物完成

我有一个方法需要等待可观察对象完成.我知道Observable对于随着时间的推移返回单个数据非常有用,但是我需要知道何时该Observable完全完成了所有数据的返回,以便我可以在返回的对象上运行验证代码. getCustom方法订阅在提供的url上的可观察的运行,然后返回可观察的. 我不太确定这是否是解决这种情况的最佳方法,因此,如果有人可以给我任何建议或指导来解决这个问题,我将不胜 ..
发布时间:2021-04-06 18:47:31 其他开发

RxJS中的管道有什么用?

我认为我有基本概念,但是有些晦涩之处 所以通常,这就是我使用 Observable 的方式: observable.subscribe(x => {}) 如果我想过滤数据,我可以使用它: import从'rxjs/operators'导入{首先,最后,映射,缩小,查找,skipWhile};observable.pipe(map(x => {return x}),第一的()).s ..
发布时间:2021-04-06 18:41:15 其他开发

如何间隔发出HTTP请求?

我对angular和rxjs很陌生.我正在尝试创建一个angular2应用程序,该应用程序从静态服务的文本文件(服务器本地)中获取一些数据,我想使用Angular2的http提供程序和rxjs的地图在固定时间检索并映射到Datamodel interval(5000).反映对所提供的txt文件的任何更改. 使用rxjs 4.x,我知道您可以使用 Observable.interval(500 ..
发布时间:2021-04-06 18:40:18 其他开发