草庐IT

observer

全部标签

c# - C# 中的 IObserver 和 IObservable 用于观察者与委托(delegate)、事件

我要做的就是实现观察者模式。所以,我想到了这个解决方案:我们有一个PoliceHeadQuarters,其主要工作是向所有订阅它的人发送通知。假设DSP、Inspector和SubInspector类订阅了PoliceHeadQuarters。使用我写的事件和委托(delegate)publicclassHeadQuarters{publicdelegatevoidNewDelegate(objectsender,EventArgse);publiceventEventHandlerNewEvent;publicvoidRaiseANotification(){varhandler=t

javascript - 使用 RxJs 将分页请求转换为 Observable 流

我有一个返回页面数据的服务。对一页的响应包含有关如何查询下一页的详细信息。我的方法是返回响应数据,然后在有更多可用页面时立即连接对相同可观察序列的延迟调用。functiongetPageFromServer(index){//returndummydatafortestcasereturn{nextpage:index+1,data:[1,2,3]};}functiongetPagedItems(index){returnObservable.return(getPageFromServer(index)).flatMap(function(response){if(response.

javascript - 使用 Angular 2 中的 Observables 获取一次数据

我有一项服务,它在我的许多Angular2组件中多次使用。它从WebAPI获取客户数据并返回一个Observable:getCustomers(){returnthis.http.get(this.baseURI+this.url).map((r:Response)=>{leta=r.json()asCustomer[];returna;});}我将此服务注入(inject)到我的根组件中,并在每个想要访问客户的组件中我只订阅了该Observable:this.customerService.getCustomers().subscribe(v=>this.items=v);但是,订阅

javascript - DOM Mutation Observers 是否比 DOM Mutation Events 慢?

以下代码利用DOM突变事件DOMNodeInserted检测body的存在元素并包裹它的innerHTML放入wrapper中。functionDOMmanipulation(){if(document.body){document.removeEventListener('DOMNodeInserted',DOMmanipulation);//DOMmanipulationstartdocument.body.innerHTML=''+document.body.innerHTML+'';//DOMmanipulationend}}document.addEventListener(

javascript - 当没有编写 api 时,如何模拟 Angular2 中的 http observable

我是Angular2和Rxjs的新手,我对一个特定案例有点困惑。我有一个简单的服务:import{Injectable}from'@angular/core';import{Observable,Subject}from'rxjs/Rx';import{Http,Response}from'@angular/http';exportinterfaceArticle{id:number;title:string;content:string;author:string;}@Injectable()exportclassArticleService{private_articles$:Su

javascript - Anuglar2 生命周期事件作为 rxjs Observable

是否有构建方法来获取像OnDestroy这样的angular2生命周期事件作为rxjsObservable?我想订阅这样的可观察对象:ngOnInit(){MyService.myCustomFunction().takeUntil(NgOnDestroy)//NgOnDestroywouldbethelifecycleobservable.subscribe(()=>{//anycode});}这似乎比以下更直观且更易读:privatecustomObservable:Observable;ngOnDestroy(){this.customObservable.unsubscribe

javascript - Mutation Observer 未能检测到元素的 dom 移除

所以,我认为这会非常简单,以前有一个DOMNodeRemoved事件,但已弃用,而是MutationObserver应该使用,问题是,即使配置适当,它也不会触发。根据thisarticle关于从变异事件迁移到变异观察者,检测dom节点移除的配置是{childList:true,subtree:true},这适合给出childList是强制性的并且subtree根据themdnarticle,这意味着它将捕获不仅针对目标的突变,还针对目标的后代进行观察.无论如何,我做了一个jsfiddle问题,很简单,删除并且观察者应该记录变异记录,但它没有,看看你能不能弄清楚:)HTMLOhmygod

javascript - Array.observe 的 "add"事件在什么情况下会触发?

我正在学习如何观察数组对象。我发现以下内容令人惊讶:varfooArray=[];Array.observe(fooArray,function(changes){console.log('changes:',changes[0].type);});fooArray.push({});导致变化的类型是拼接而不是添加哪些方法会导致add类型的更改事件?在我看来,在其上推送单个值是最有可能的情况。 最佳答案 MDNreference不清楚在什么情况下触发每种变化类型。详细解释如下:拼接涵盖您希望在数组中发生的所有更改。以下所有函数都会触

javascript - 如何在 RxJS 中完成 Observable

假设我们有一个Observable:varobservable=Rx.Observable.fromEvent(document.getElementById('emitter'),'click');如何让它完成(什么会触发所有订阅的观察者的onComplete事件)? 最佳答案 在目前的形式中,你不能。您的可观察对象源自未完成的来源,因此它本身无法完成。您可以做的是使用完成条件扩展此源。这会像这样:varend$=newRx.Subject();varobservable=Rx.Observable.fromEvent(docum

javascript - Observable 与 Subject 和 asObservable

我正在学习RxJs,我正在寻求对我的假设的确认或纠正。我正在尝试在我可以在我的服务类的不同位置使用.next()的服务中使一个公共(public)只读可见。我想知道这是否是正确的方法:privatemyObservable=newSubject();publicmyObservable$:Observable=this.myObservable.asObservable();用户可以订阅myObservable$我可以使用myObservable.next(...);它工作得很好,但我有足够的经验知道我可能只是一个不知情的白痴(RxJS是巨大的)。对于所述用例,这是正确的模式和正确的对