草庐IT

rxjs-dom

全部标签

javascript - RxJS 订阅者取消订阅与完成

我正在通读RxJS文档并想确保我理解Subscriber.unsubscribe()之间的区别。和Subscriber.complete().假设我有一个包含两个订阅者的可观察对象,subscriber1和subscriber2。如果subscriber1在其订阅上调用取消订阅,它将不再收到来自observable的通知,但subscriber2将继续接收它们。.complete()的文档:TheObservercallbacktoreceiveavaluelessnotificationoftypecompletefromtheObservable.NotifiestheObserv

javascript - DOM 元素宽度可以是非整数吗?

我有一些页面的div元素由JavaScript对齐。JavaScript只是检查一组div元素以找到最大offsetWidth,然后设置所有div元素的width成为最大offsetWidth。它在大多数浏览器和语言环境中都能完美运行,但在Mac上的Firefox中无法使用法语。在这种情况下,div的内容会换行。Heurededébut:对于上面的HTML,下面的代码报告“79”。javascript:alert(document.getElementById('divFoo').offsetWidth);但下面的代码报告“79.1333px”。javascript:aler

javascript - 如何识别 DOM 何时被更改?

是否有一种简单的方法可以知道DOM何时已更改?有没有内置的JavaScript/jQuery事件/函数? 最佳答案 如果您必须检测更改,您可以检查DOM突变事件。DOMeventswikipediapage列出他们所有。但是,您应该知道它们在InternetExplorer中不受支持,并且在支持它们的浏览器中可能会经常触发。一种蛮力方法是使用setTimeout并自行检查更改。但我的经验表明,可以避免对DOM更改通知的需求。您能否详细说明您的具体要求? 关于javascript-如何识别

javascript - 如何使用 RxJs 异步加载图像并在所有加载后执行方法

我正在尝试将基于promise的代码转换为RxJs,但我很难理解Rx,尤其是RxJs。我有一个包含路径的数组。varpaths=["imagePath1","imagePath2"];我喜欢用Javascript加载图片varimg=newImage();img.src=imagePath;image.onload//当所有图像都加载完毕后,我想执行一个方法。我知道有Rx.Observable.fromArray(imagepathes)还有类似的东西Rx.Observable.fromCallback(...)还有类似flatMapLatest(...)和Rx.Observable.

javascript - 使用 RxJS 一次限制请求数

假设我有10个url,我想为每个url发出一个HTTP请求。我可以创建一个URL的可观察对象,然后是.flatMap()对每个URL的请求,然后是.subscribe以获取结果。但这会同时发出所有请求。有没有办法将请求的数量限制为固定数量,以免服务器重载 最佳答案 RxJSv6更新将您的并行限制作为第二个参数通过mergeMap进行管道传输constMAX_PARALLEL_QUERIES=3;letallResults=[];letobservables=[]//fillwithobservablesfrom(observable

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

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

javascript - RxJS 比命令式更快吗?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我是函数式编程和函数式响应式编程方面的新手。我读了很多遍函数式响应式编程的强大力量。好的;可读性强,避免副作用等。但是...我不知道如何以功能性/react性方式改进我的代码,以便比命令式方式执行得更快。这可能吗?也许我错过了什么?因为在我的函数式编程代码中,每个任务都在迭代:对于过滤器、映射、缩减……这比较慢。是否可以将所有事情迭代一次?也许使用compose()?谢谢。性能测试:命令式vsFPvsFR

javascript - 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性

在Angular2中使用新的http服务,我想对我的错误做更多的事情,而不仅仅是在控制台中抛出错误。不幸的是,我似乎无法从catch回调函数中访问我的对象属性。我的http服务调用:returnthis.http.get(this.apiUrl,options).map(this.extractData,this).catch(this.handleError)我的handleError回调fn:handleError(error){console.log(this)//undefined!if(error.status===401){this.router.navigate(['/l

javascript - RxJS 6 - 在管道中首次使用时是否需要取消订阅?

给定以下代码functiontriggerAction(){constasyncAction$=of("value1");asyncAction$.clientLogin().pipe(first(),tap(val=>console.log(`Test:${val}`)),).subscribe();}我需要退订吗?以前,当将first与修补运算符一起使用时,它们会在发出第一个事件后自行取消订阅,但从文档中无法立即清楚地知道等效的管道运算符是否也这样做。https://www.learnrxjs.io/operators/filtering/first.htmlhttps://rxj

javascript - 当我可以在 JavaScript 中直接引用 DOM id 时,为什么要使用 document.getElementById?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:IE/Chrome:areDOMtreeelementsglobalvariableshere?我最近发现我可以在javascript中使用DOM中的任何对象并直接引用其id:IMALAYERalert(layer.innerHTML);如果这是真的,我使用getElementById方法有什么好处?