Als «observable» getaggte Fragen

Ein Observable ist normalerweise ein Programmierkonstrukt, das von anderen Teilen des Codes, den "Beobachtern", "beobachtet" werden kann. Unterschiedliche Frameworks und Programmiersprachen haben unterschiedliche Implementierungen für Observables, daher sollte dieses Tag normalerweise in Verbindung mit anderen verwendet werden.

21
Angular / RxJs Wann sollte ich mich von `Subscription` abmelden?
Wann sollte ich die SubscriptionInstanzen speichern und unsubscribe()während des NgOnDestroy-Lebenszyklus aufrufen und wann kann ich sie einfach ignorieren? Das Speichern aller Abonnements führt zu viel Chaos im Komponentencode. HTTP-Client-Handbuch ignoriert Abonnements wie folgt: getHeroes() { this.heroService.getHeroes() .subscribe( heroes => this.heroes = heroes, error => this.errorMessage = <any>error); } In der …



11
Geben Sie ein leeres Observable zurück
Die Funktion more()soll eine Observablevon einer get-Anfrage zurückgeben 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(); } ); } } In …


6
Erstellen und Zurückgeben von Observable aus dem Angular 2-Dienst
Dies ist eher eine "Best Practices" -Frage. Es gibt drei Spieler: a Component, a Serviceund a Model. Das Componentruft das Serviceauf, um Daten aus einer Datenbank abzurufen. Das Serviceverwendet: this.people = http.get('api/people.json').map(res => res.json()); ein Observable. Das Componentkönnte einfach abonnieren Observable: peopleService.people .subscribe(people => this.people = people); } Was ich …

5
Wie kann ich eine Ausnahme von http.request () korrekt abfangen?
Teil meines Codes: 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
Wie erstelle ich ein Observable aus statischen Daten, die http one in Angular ähneln?
Ich habe einen Dienst mit dieser Methode: 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()); } } } Im Konstruktor …

9
Wie kann ich die Antwort von einem Observable / http / async-Aufruf im Winkel zurückgeben?
Ich habe einen Dienst, der eine Observable zurückgibt, die eine http-Anfrage an meinen Server sendet und die Daten abruft. Ich möchte diese Daten verwenden, bekomme sie aber immer wieder undefined. Was ist das Problem? Service : @Injectable() export class EventService { constructor(private http: Http) { } getEventList(): Observable<any>{ let headers …

8
So überprüfen Sie die Länge eines Observable-Arrays
In meiner Angular 2-Komponente habe ich ein Observable-Array list$: Observable<any[]>; In meiner Vorlage habe ich <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> Die Liste $ .length funktioniert jedoch bei einem Observable-Array nicht. Aktualisieren: Es scheint, dass (Liste $ | async)?. Länge …

5
Angular 4+ ngOnDestroy () in Betrieb - beobachtbar zerstören
In einer Winkelanwendung haben wir einen ngOnDestroy()Lebenszyklus-Hook für eine Komponente / Direktive und verwenden diesen Hook, um die Observablen abzumelden. Ich möchte beobachtbare Objekte löschen / zerstören, die in einem @injectable()Dienst erstellt wurden. Ich habe einige Posts gesehen, die das sagtenngOnDestroy() sie auch in einem Dienst verwendet werden können. Aber …


5
Wie kann ich ein Observable mit einer Verzögerung erstellen?
Frage Zu Testzwecken erstelle ich ObservableObjekte, die das Observable ersetzen, durch das ein tatsächlicher http-Aufruf zurückgegeben wird Http. Mein Observable wird mit folgendem Code erstellt: fakeObservable = Observable.create(obs => { obs.next([1, 2, 3]); obs.complete(); }); Die Sache ist, dieses beobachtbare strahlt sofort aus. Gibt es eine Möglichkeit, der Emission eine …

4
Verwenden eines Arrays aus Observable Object mit ngFor und Async Pipe Angular 2
Ich versuche zu verstehen, wie Observables in Angular 2 verwendet werden. Ich habe diesen Service: 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": …

10
Wie lässt man eine Observable-Sequenz warten, bis eine andere abgeschlossen ist, bevor sie gesendet wird?
Sagen wir, ich habe eine Observable, wie so: var one = someObservable.take(1); one.subscribe(function(){ /* do something */ }); Dann habe ich eine Sekunde Observable: var two = someOtherObservable.take(1); Nun möchte ich subscribe()zu two, aber ich möchte sicherstellen , dass oneabgeschlossen ist , bevor die twoTeilnehmer ausgelöst wird. Mit welcher Puffermethode …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.