HTTP-вызов службы RXJS возвращает ноль после другого вызова - PullRequest
0 голосов
/ 07 июня 2019

У меня есть сервисы с http-звонками:

Я инициализирую свой компонент с помощью nginit, затем после того, как я покидаю представление, перехожу к подробному представлению и вызываю почтовый сервис, мой компонент возвращает ноль и прерывает приложение, и я должен перезагрузить страницу.

Существуют ли передовые методы использования наблюдаемых в сервисах и компонентах?

Я пытался исследовать многоадресную рассылку, но я не нашел ничего, связанного с моей проблемой.

Сервисный звонок

getProducts() {
    this.headers = this.headers.set('Content-Type', 'application/json')
      .set('id', 1)
      .set('active', '1')
      .set('token', 1);
    return this.http.get(this.env + 'Products.json', { headers: this.headers });
  }

Я обычно ожидаю, что мой массив ответов похож на ngoninit, но вместо этого получает значение null.

Обновление

Приступил к работе, объявив мои сервисы на компонентном декораторе

@Component({
  selector: 'app-deal-detail',
  templateUrl: './deal-detail.component.html',
  styleUrls: ['./deal-detail.component.scss'],
  providers: [ AService, BService, CService ]
})

1 Ответ

0 голосов
/ 07 июня 2019

Я решил свою проблему, предоставив моим компонентам атрибут провайдера, на меня ссылались: проблема-с-rxjs-поведенческими субъектами-не-уведомляющим-об-значении-изменения

По-видимому, Angular читает сервисы как одиночные.

...