Perguntas com a marcação «observable»

Um observável é normalmente uma construção de programação que pode ser "observada" por outras partes do código, chamadas de "observadores". Estruturas e linguagens de programação diferentes têm implementações diferentes para observáveis, portanto, essa tag deve ser usada em conjunto com outras.

21
Angular / RxJs Quando devo cancelar a assinatura de `Subscription`
Quando devo armazenar as Subscriptioninstâncias e chamar unsubscribe()durante o ciclo de vida do NgOnDestroy e quando posso simplesmente ignorá-las? Salvar todas as assinaturas introduz muita confusão no código do componente. O Guia do Cliente HTTP ignora assinaturas como esta: getHeroes() { this.heroService.getHeroes() .subscribe( heroes => this.heroes = heroes, error => …



11
Retornar um Observable vazio
A função more()deve retornar um Observablede uma solicitação 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(); } ); } } …


6
Criando e retornando o Observable do Angular 2 Service
Essa é mais uma questão de "melhores práticas". Existem três jogadores: a Component, a Servicee a Model. O Componentestá chamando o Servicepara obter dados de um banco de dados. O Serviceestá usando: this.people = http.get('api/people.json').map(res => res.json()); retornar um Observable. O Componentpoderia apenas assinar o Observable: peopleService.people .subscribe(people => this.people …

5
Como capturar a exceção corretamente de http.request ()?
Parte do meu código: 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); // …

5
Como criar um observável a partir de dados estáticos semelhante ao http no Angular?
Estou tendo um serviço que tem este método: 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()); } } } no …


8
Como verificar o comprimento de uma matriz observável
No meu componente Angular 2, tenho uma matriz observável list$: Observable<any[]>; No meu modelo eu tenho <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> Mas list $ .length não funciona no caso de array Observable. Atualizar: Parece que (list $ | async) …



5
Como posso criar um observável com atraso
Questão Para fins de teste, estou criando Observableobjetos que substituem o observável que seria retornado por uma chamada real de http com Http. Meu observável é criado com o seguinte código: fakeObservable = Observable.create(obs => { obs.next([1, 2, 3]); obs.complete(); }); A questão é que este observável emite imediatamente. Existe …


4
Usando uma matriz de Observable Object com ngFor e Async Pipe Angular 2
Estou tentando entender como usar Observáveis ​​no Angular 2. Tenho este serviço: 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() {} …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.