为什么说在浏览器中订阅未定义

时间:2020-01-20 11:48:07

标签: undefined angular8 subscribe

  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';

我已经导入了上述两个文件,但是当我从浏览器传递名称,年龄,地址的数据时,它会显示

ERROR TypeError:无法读取未定义的属性“ subscribe”

1 个答案:

答案 0 :(得分:1)

问题说

ERROR TypeError:无法读取未定义的属性“ subscribe”

因为到this.data.subscribe()时为止,变量this.data尚未分配任何值。

几乎总是可以观察到服务功能,因此是异步的。这意味着服务器的响应将取决于多个因素,而不是瞬时的。

要更正您的代码,请按以下方式使用它:

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));
    });

   }