Угловой 6, подписаться на activRoute.queryParamMap, WebStorm выдает предупреждение «Обещание, возвращаемое из подписки игнорируется» - PullRequest
0 голосов
/ 08 октября 2018

У меня есть следующий код на Angular 6:

import { Component, OnInit } from "@angular/core";
import { ActivatedRoute, Router } from "@angular/router";

...

export class someComponent implements OnInit {

  life: string;

  constructor(
    private route: ActivatedRoute
  ) {}

  ngOnInit(): void {

    this.route.queryParamMap.subscribe(urlParams => this.life = urlParams.get('foo'));
  }

  ...

}

Я создал route из ActivatedRoute, и моя цель - назначить параметры запроса foo из URL одной из моих переменныхназывается life.Однако на WebStorm я получаю следующие предупреждения (зеленые вьющиеся линии, поэтому я не уверен, являются ли они предупреждениями, ошибками или чем-то еще):

  1. при наведении курсора мыши на subscribe Iget Promise returned from subscribe is ignored,
  2. При наведении курсора мыши на urlParams я получаю Argument type (urlParams: any) => void is not assignable to parameter type PushSubscriptionOptionsInit | undefined

Screenshot for warning 1 and warning 2

Blockquote

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

У меня была та же проблема, которая исчезла после установки всех модулей (npm i) и обновления индексов WebStorm (команда синхронизации для node_modules).

0 голосов
/ 11 января 2019

В Angular (в настоящее время на Angular-6) .subscribe () - это метод для типа Observable.Тип Observable - это утилита, которая выполняет асинхронную или синхронную потоковую передачу данных на различные компоненты или сервисы, которые подписались на наблюдаемые.

this._route.paramMap.pipe(
  switchMap((params: ParamMap) => {
      this.FID = params.get('id');
      return this._serviceXXX();
    }
  )
).subscribe(data => {
  // then code
});
...