Почему говорится, что подписка не определена в браузере - PullRequest
0 голосов
/ 20 января 2020
  updload(name,age,address)
  {
    debugger;
    this.data=this.service.tryinsert(name,age,address);
    this.data.subscribe(
     (respose:any)=>{
        console.log(respose);
      }
    )
  }
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';

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

ОШИБКА TypeError: Cannot read property ' подписаться 'из неопределенного

1 Ответ

1 голос
/ 20 января 2020

Вопрос говорит:

ОШИБКА TypeError: Невозможно прочитать свойство 'подписка' из неопределенного

, поскольку к тому времени this.data.subscribe() называется переменной, this.data имеет еще не было присвоено какое-либо значение.

Сервисные функции почти всегда наблюдаемы в angular и, следовательно, асинхронны. Это означает, что ответ сервера будет зависеть от нескольких факторов, а не от мгновенного.

Чтобы исправить свой код, вы должны использовать его, как показано ниже:

updload(name,age,address)
  {
    debugger;
    this.service.tryinsert(name,age,address)
        .subscribe(responseData => {
            console.log(responseData);
            // use the code below if responseData is not of type string
            // console.log(JSON.stringify(responseData));
    });

   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...