Angular 4 - вызов функции внутри подписки - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть функция

isNull(name: string, lname: string): void {
  if (name === null || lname === null)
    alert("User not found");
}

, и я вызываю эту функцию внутри подписки

callSearchService($event) {
  this.searchService.searchUser(this.firstName, this.lastName)
    .subscribe(
      data => {
        console.log("we got: ", data);
        this.isNull(data.firstname, data.lastname);
      },
      error => {
        console.log("Error", error);
      }
   );
}

, но эта функция не работает.Вы можете мне помочь ?

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

Используйте

isNull(name: string, lname: string): void {
 if (!!name || !!lname)
  alert("User not found");
}

вместо

isNull(name: string, lname: string): void {
 if (name === null || lname === null)
  alert("User not found");
}
0 голосов
/ 27 сентября 2018

Сначала убедитесь, что ваш браузер разрешает оповещения, а затем отлаживайте внутри элементов isNull () или console.log 2 (name, lname) внутри метода.Вы не хотите использовать '===', это может сработать

isNull(name: string, lname: string): void {
 if (!name || !lname)
// you can use console.log(name + " " + lname)
  alert("User not found");
}
0 голосов
/ 26 сентября 2018

Вы должны использовать двойные равно.Двойной равен проверок на нулевой или неопределенный.Это единственный раз, когда вы должны использовать двойные равные вместо тройных равных.

isNull(name: string, lname: string): void {
  console.log(name, lname)
  if (name == null || lname == null) console.error('User not found');
  else {
    console.log('we got the user')
  }
}
...