angular2服务返回undefined

时间:2017-03-22 20:26:14

标签: angular angular2-services

我无法理解为什么我的某个服务总是返回undefined但是开发人员模式中的网络选项卡显示我已收到数据。

有人可以帮我弄清楚我的错误在哪里吗?

我的组件看起来是下一个方式:

export interface Sponsors {
      id;
      sponsorCode;
      sponsorName;
      active;
      clientId;
      countryId;
      cloudRegionId;
    }

    @Component({
      selector: 'app-sponsors',
      templateUrl: './sponsors.component.html',
      styleUrls: ['./sponsors.component.css'],
    })

    export class SponsorsComponent implements OnInit {

      id: any;     
      sponsors: Sponsors[];
      applications: Applications[];

      constructor(private appService: AppServices,
                  private route: ActivatedRoute) {
        this.id = route.snapshot.url[1].path;
      }

      ngOnInit() {
        this.getSponsors();
        this.getApps();
      }

      getSponsors () {
        this.appService.getSponsorsByClient(this.id).then(
          response => {
            this.sponsors = response;
            console.log(this.sponsors) //returns undefined
        });
      }

      getApps(){
        this.appService.getApplications()
          .then(applications => {
            this.applications = applications;
            console.log(this.applications) // returns data
          });
      }

这是我的服务:

getSponsorsByClient(id: any): Promise<Sponsors[]> {
    const url = `${this.api}/clients/${id}/sponsors`;
    return this.http.get(url)
      .toPromise()
      .then(response => response.json().data as Sponsors[])
  }

getApplications(): Promise<Applications[]> {
    return this.http
      .get(this.api + "/applications")
      .toPromise()
      .then(response => response.json() as Applications[])
  }

提前致谢

1 个答案:

答案 0 :(得分:0)

这应该有效:

CamelCase