Pytania otagowane jako observable

Obserwowalna jest zazwyczaj konstrukcją programistyczną, która może być „obserwowana” przez inne części kodu, zwane „obserwatorami”. Różne frameworki i języki programowania mają różne implementacje dla obserwabli, więc ten znacznik powinien być zwykle używany w połączeniu z innymi.

21
Angular / RxJs Kiedy powinienem zrezygnować z subskrypcji `Subskrypcji`
Kiedy należy przechowywać Subscriptioninstancje i wywoływać je unsubscribe()podczas cyklu życia NgOnDestroy, a kiedy mogę je po prostu zignorować? Zapisanie wszystkich subskrypcji wprowadza sporo bałaganu do kodu komponentu. Przewodnik klienta HTTP ignoruje takie subskrypcje: getHeroes() { this.heroService.getHeroes() .subscribe( heroes => this.heroes = heroes, error => this.errorMessage = <any>error); } W tym …

7
Delegacja: EventEmitter lub Observable in Angular
Usiłuję zaimplementować coś w rodzaju wzoru delegowania w Angular. Gdy użytkownik kliknie „a” nav-item, chciałbym wywołać funkcję, która następnie emituje zdarzenie, które z kolei powinno być obsługiwane przez inny komponent nasłuchujący zdarzenia. Oto scenariusz: Mam Navigationkomponent: import {Component, Output, EventEmitter} from 'angular2/core'; @Component({ // other properties left out for brevity …

10
Kiedy powinniśmy używać Observer i Observable?
Ankieter zapytał mnie: Co to jest Observeri Observablekiedy powinniśmy ich używać? I nie był świadomy tych warunków, więc kiedy wróciłem do domu i zaczął googlowanie temat Observeri Observableznalazłem kilka punktów z różnych źródeł: 1) Observablejest klasą i Observerjest interfejsem. 2) ObservableKlasa prowadzi listę Observers. 3) Gdy Observableobiekt jest aktualizowany, wywołuje …

11
Zwróć pusty Observable
Funkcja more()ma zwrócić wynik Observablez żądania get export class Collection{ public more = (): Observable<Response> => { if (this.hasMore()) { return this.fetch(); } else{ // return empty observable } } private fetch = (): Observable<Response> => { return this.http.get('some-url').map( (res) => { return res.json(); } ); } } W takim …


6
Tworzenie i zwracanie Observable z usługi Angular 2
To bardziej kwestia „sprawdzonych metod”. Jest trzech graczy: a Component, a Servicei a Model. ComponentJest wywołanie Serviceaby pobrać dane z bazy danych. ServiceJest za pomocą: this.people = http.get('api/people.json').map(res => res.json()); zwrócić plik Observable. ComponentMoże po prostu zapisać się do Observable: peopleService.people .subscribe(people => this.people = people); } Jednak to, czego …

5
Jak poprawnie wyłapać wyjątek z http.request ()?
Część mojego kodu: import {Injectable} from 'angular2/core'; import {Http, Headers, Request, Response} from 'angular2/http'; import {Observable} from 'rxjs/Observable'; import 'rxjs/add/operator/map'; @Injectable() export class myClass { constructor(protected http: Http) {} public myMethod() { let request = new Request({ method: "GET", url: "http://my_url" }); return this.http.request(request) .map(res => res.json()) .catch(this.handleError); // Trouble …

5
Jak utworzyć Observable z danych statycznych, podobnie jak http w Angular?
Mam usługę, która ma tę metodę: export class TestModelService { public testModel: TestModel; constructor( @Inject(Http) public http: Http) { } public fetchModel(uuid: string = undefined): Observable<string> { if(!uuid) { //return Observable of JSON.stringify(new TestModel()); } else { return this.http.get("http://localhost:8080/myapp/api/model/" + uuid) .map(res => res.text()); } } } w konstruktorze komponentu …

9
Jak zwrócić odpowiedź z wywołania Observable / http / async w angular?
Mam usługę, która zwraca obserwowalny, który wysyła żądanie http do mojego serwera i pobiera dane. Chcę użyć tych danych, ale zawsze otrzymuję undefined. Jaki jest problem? Usługa : @Injectable() export class EventService { constructor(private http: Http) { } getEventList(): Observable<any>{ let headers = new Headers({ 'Content-Type': 'application/json' }); let options …

8
Jak sprawdzić długość tablicy obserwowalnej
W moim komponencie Angular 2 mam tablicę Observable list$: Observable<any[]>; W moim szablonie mam <div *ngIf="list$.length==0">No records found.</div> <div *ngIf="list$.length>0"> <ul> <li *ngFor="let item of list$ | async">item.name</li> </ul> </div> Ale lista $ .length nie działa w przypadku tablicy Observable. Aktualizacja: Wygląda na to, że (list $ | async) ?. …

5
Angular 4+ ngOnDestroy () w służbie - zniszcz obserwowalne
W aplikacji kątowej mamy ngOnDestroy()hak cyklu życia dla komponentu / dyrektywy i używamy tego haka do anulowania subskrypcji obserwabli. Chcę wyczyścić / zniszczyć obserwowalne, które są tworzone w @injectable()usłudze. Widziałem posty, w których napisano, że ngOnDestroy()można ich również użyć w usłudze. Ale czy jest to dobra praktyka i jedyny sposób, …


4
Używanie tablicy z obiektu obserwowalnego z ngFor i Async Pipe Angular 2
Próbuję zrozumieć, jak używać Observables w Angular 2. Mam tę usługę: import {Injectable, EventEmitter, ViewChild} from '@angular/core'; import {Observable} from "rxjs/Observable"; import {Subject} from "rxjs/Subject"; import {BehaviorSubject} from "rxjs/Rx"; import {Availabilities} from './availabilities-interface' @Injectable() export class AppointmentChoiceStore { public _appointmentChoices: BehaviorSubject<Availabilities> = new BehaviorSubject<Availabilities>({"availabilities": [''], "length": 0}) constructor() {} getAppointments() …

5
Jak mogę utworzyć obserwowalne z opóźnieniem
Pytanie Do celów testowych tworzę Observableobiekty, które zastępują obserwowalne, które byłyby zwracane przez rzeczywiste wywołanie http z Http. Moje obserwowalne jest tworzone za pomocą następującego kodu: fakeObservable = Observable.create(obs => { obs.next([1, 2, 3]); obs.complete(); }); Rzecz w tym, że to obserwowalne emituje natychmiast. Czy istnieje sposób na dodanie niestandardowego …

4
Promise.all zachowanie z RxJS Observables?
W Angular 1.x czasami musiałem składać wiele httpżądań i robić coś ze wszystkimi odpowiedziami. Wrzuciłbym wszystkie obietnice do tablicy i zadzwonił Promise.all(promises).then(function (results) {...}). Najlepsze praktyki Angular 2 wydają się wskazywać na użycie RxJS Observablejako zamiennika obietnic w httpżądaniach. Jeśli mam dwa lub więcej różnych Observables utworzonych na podstawie żądań …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.