Die Reactive Extensions für JavaScript (RxJS) sind eine Reihe von Bibliotheken zum Erstellen asynchroner und ereignisbasierter Programme unter Verwendung beobachtbarer Sammlungen und der Komposition von Array Extras.
In meiner Angular 2-App habe ich einen Dienst, der die ObservableKlasse aus der rxjsBibliothek verwendet. import { Observable } from 'rxjs'; Im Moment benutze ich nur, Observabledamit ich die toPromise()Funktion nutzen kann. Ich habe irgendwo in einer anderen StackOverflow-Frage gelesen, dass beim Importieren auf diese Weise und auch beim Importieren …
Nachdem ich etwas über Observables gelernt habe , finde ich sie den Streams von Node.j ziemlich ähnlich . Beide haben einen Mechanismus, um den Verbraucher zu benachrichtigen, wenn neue Daten eintreffen, ein Fehler auftritt oder keine Daten mehr vorhanden sind (EOF). Ich würde gerne etwas über die konzeptionellen / funktionalen …
In Angular 2 habe ich mit rxjs versucht, ein Versprechen in Observable umzuwandeln. Da viele Online - Führer zeigte verwendete ich fromPromiseauf Observable. Was Fehler wirft: Property 'fromPromise' does not exist on type 'typeof Observable'. Observable wurde wie folgt importiert: import { Observable } from "rxjs/Observable"; Der Versuch, fromPromisewie andere …
import { Headers, Http } from '@angular/http'; @Injectable() export class PublisherService{ private publishersUrl = 'app/publisher'; constructor(private http: Http) { } getPublishers(): Promise<Publisher[]>{ return this.http.get(this.publishersUrl) .toPromise() .then(response => response.json().data) .catch(this.handleError); } } Ich erhalte diesen Fehler: Die Eigenschaft 'toPromise' ist für den Typ 'Observable' nicht vorhanden
In meiner App habe ich so etwas wie: this._personService.getName(id) .concat(this._documentService.getDocument()) .subscribe((response) => { console.log(response) this.showForm() }); //Output: // [getnameResult] // [getDocumentResult] // I want: // [getnameResult][getDocumentResult] Dann bekomme ich zwei getrennte Ergebnisse, zuerst das _personServiceund dann das _documentService. Wie kann ich auf beide Ergebnisse warten, bevor der Aufruf abgeschlossen ist …
Ich versuche es mapvon einem Serviceabruf aus, erhalte aber eine Fehlermeldung. Betrachtet man Abonnieren ist nicht in Winkel 2 definiert? und es hieß, dass wir, um uns anzumelden, aus dem Inneren der Betreiber zurückkehren müssen. Ich habe auch Rücksendungen. Hier ist mein Code: checkLogin(): Observable<boolean> { return this.service.getData() .map( response …
Ich frage mich, ob es einen Unterschied in der Leistung zwischen der Verwendung ist .take(1)und .unsubscribewenn unsubscribewird direkt nach dem Abonnement verwendet: var observable = Rx.Observable.interval(100); Zuerst: var subscription = observable.subscribe(function(value) { console.log(value); }).unsubscribe(); Zweite: var subscription = observable.take(1).subscribe(function(value) { console.log(value); }); Irgendwelche Ideen dazu machen die Leistung anders?
Ich lerne RxJS und Angular 2. Angenommen, ich habe eine Versprechenskette mit mehreren asynchronen Funktionsaufrufen, die vom Ergebnis des vorherigen abhängen und wie folgt aussehen: var promiseChain = new Promise((resolve, reject) => { setTimeout(() => { resolve(1); }, 1000); }).then((result) => { console.log(result); return new Promise((resolve, reject) => { setTimeout(() …
Letzte Woche beantwortete ich eine RxJS- Frage, in der ich mit einem anderen Community-Mitglied über Folgendes diskutierte: "Soll ich für jede bestimmte Nebenwirkung ein Abonnement erstellen oder sollte ich versuchen, Abonnements im Allgemeinen zu minimieren?" Ich möchte wissen, welche Methologie im Hinblick auf einen vollständig reaktiven Anwendungsansatz zu verwenden ist …
Ich habe eine Komponente, die einige Kommentare im Abstand von 100 ms "faul lädt". Wenn ich setTimeout benutze, ist es wirklich verzögert. Komponente <div *ngFor="let post of posts"> <app-post [post]="post" ></app-post> </div> Dies macht meine Anwendung verzögert (durchschnittlich 14 fps, Leerlaufzeit 51100 ms): while(this.postService.hasPosts()){ setTimeout(()=> { this.posts.push(this.postService.next(10)); },100); } Dies …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.