首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript .subscribe

Typescript .subscribe
EN

Stack Overflow用户
提问于 2021-06-14 08:33:45
回答 1查看 32关注 0票数 0

我正在尝试使用.subscribe将数据从api获取到数组,但数组将保持为空。

dataService.ts

代码语言:javascript
复制
 getData(): Observable<Data[]> {
        return this.http.get<Data[]>(this.dataUrl);       
      }

data.ts

代码语言:javascript
复制
 data: Data[] = [];
  

  ngOnInit(): void {
    this.getData();
    console.log(this.data[0].dataId);
  }


  getData(): void {
    this.dataService.getData()
        .subscribe(data => this.data = data)

  }
EN

回答 1

Stack Overflow用户

发布于 2021-06-14 08:57:01

你的代码是getData函数是异步的,你应该通过控制台登录你的订阅者

代码语言:javascript
复制
getData(): void {
    this.dataService.getData().subscribe(data => {
      this.data = data;
      console.log(this.data[0].dataId);
    })
}

您的ngOnInit是同步代码,因此,当它通过异步函数getData函数调用运行时,它不会等待。因此,数据尚未加载,未定义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67963636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档