Вопросы с тегом «observable»

Наблюдаемый объект обычно представляет собой программную конструкцию, за которой могут «наблюдать» другие части кода, называемые «наблюдателями». Различные фреймворки и языки программирования имеют разные реализации для наблюдаемых, поэтому этот тег обычно следует использовать вместе с другими.

21
Angular / RxJs Когда я должен отписаться от `Подписки`
Когда я должен хранить Subscriptionэкземпляры и вызывать их unsubscribe()в течение жизненного цикла NgOnDestroy, а когда я могу просто игнорировать их? Сохранение всех подписок вносит много ошибок в код компонента. HTTP Client Guide игнорирует такие подписки: getHeroes() { this.heroService.getHeroes() .subscribe( heroes => this.heroes = heroes, error => this.errorMessage = <any>error); } …

7
Делегирование: EventEmitter или Observable in Angular
Я пытаюсь реализовать что-то вроде шаблона делегирования в Angular. Когда пользователь нажимает на nav-item, я хотел бы вызвать функцию, которая затем генерирует событие, которое, в свою очередь, должно обрабатываться другим компонентом, прослушивающим событие. Вот сценарий: у меня есть Navigationкомпонент: import {Component, Output, EventEmitter} from 'angular2/core'; @Component({ // other properties left …

10
Когда мы должны использовать Observer и Observable?
Интервьюер спросил меня: Что Observerи Observableи когда мы должны использовать их? Я не знал об этих условиях, поэтому , когда я вернулся домой и начал Googling о Observerи Observableя обнаружил некоторые моменты из различных ресурсов: 1) Observableэто класс и Observerинтерфейс. 2) ObservableКласс ведет список Observerс. 3) Когда Observableобъект обновляется, он …

11
Вернуть пустой наблюдаемый
Функция more()должна возвращать Observableзапрос 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(); } ); } } В этом случае я …


5
Как правильно поймать исключение из http.request ()?
Часть моего кода: 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 …

6
Создание и возврат Observable из службы Angular 2
Это скорее вопрос "лучших практик". Есть три игрока: а Component, а Serviceи а Model. Это Componentвызывает Serviceдля получения данных из базы данных. ServiceИспользует: this.people = http.get('api/people.json').map(res => res.json()); чтобы вернуть Observable. ComponentМожно просто подписаться на Observable: peopleService.people .subscribe(people => this.people = people); } Однако я действительно хочу, Serviceчтобы Array of …

5
Как создать Observable из статических данных, подобных http в Angular?
У меня есть служба, в которой есть этот метод: 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()); } } } …

9
Как мне вернуть ответ от вызова Observable / http / async в angular?
У меня есть служба, которая возвращает наблюдаемый объект, который выполняет HTTP-запрос на мой сервер и получает данные. Я хочу использовать эти данные, но всегда получаю undefined. В чем проблема? Сервис : @Injectable() export class EventService { constructor(private http: Http) { } getEventList(): Observable<any>{ let headers = new Headers({ 'Content-Type': 'application/json' …

8
Как проверить длину наблюдаемого массива
В моем компоненте Angular 2 у меня есть наблюдаемый массив list$: Observable<any[]>; В моем шаблоне у меня есть <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> Но list $ .length не работает в случае массива Observable. Обновить: Кажется, что (list $ | …

5
Angular 4+ ngOnDestroy () в эксплуатации - уничтожить наблюдаемое
В приложении angular у нас есть ngOnDestroy()ловушка жизненного цикла для компонента / директивы, и мы используем эту ловушку для отмены подписки на наблюдаемые. Я хочу очистить / уничтожить наблюдаемые объекты, созданные в @injectable()службе. Я видел несколько сообщений, в которых говорилось, что ngOnDestroy()это также можно использовать в сервисе. Но является ли …

1
Цепочка наблюдаемых RxJS из данных http в Angular2 с помощью TypeScript
В настоящее время я пытаюсь научиться Angular2 и TypeScript после того, как успешно работал с AngularJS 1. * в течение последних 4 лет! Я должен признать, что ненавижу это, но я уверен, что момент моей эврики не за горами ... в любом случае, я написал службу в своем фиктивном приложении, …

4
Использование массива из Observable Object с ngFor и Async Pipe Angular 2
Я пытаюсь понять, как использовать Observables в Angular 2. У меня есть такая услуга: 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}) …

5
Как я могу создать наблюдаемое с задержкой
Вопрос В целях тестирования я создаю Observableобъекты, которые заменяют наблюдаемое, которое будет возвращено фактическим http-вызовом с Http. Моя наблюдаемая создается с помощью следующего кода: fakeObservable = Observable.create(obs => { obs.next([1, 2, 3]); obs.complete(); }); Дело в том, что эта наблюдаемая излучает немедленно. Есть ли способ добавить настраиваемую задержку к его …

4
Поведение Promise.all с помощью RxJS Observables?
В Angular 1.x мне иногда приходилось делать несколько httpзапросов и что-то делать со всеми ответами. Я бы бросил все обещания в массив и позвонил Promise.all(promises).then(function (results) {...}). Лучшие практики Angular 2, похоже, указывают на использование RxJS Observableв качестве замены обещаний в httpзапросах. Если у меня есть два или более разных …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.