programing

Angular2 - TypeError: this.http.get(...).toPromise가 함수가 아닙니다.

lovejava 2023. 7. 8. 10:24

Angular2 - TypeError: this.http.get(...).toPromise가 함수가 아닙니다.

저는 angular.io (Tour the Heroes)의 튜토리얼을 따르려고 노력하지만 튜토리얼 대신 몇몇 JSON에 대해 실제 GET 요청을 하려고 합니다.

내 코드는 다음과 같습니다.

  private userUrl = 'https://jsonplaceholder.typicode.com/users';
  constructor(private http: Http) {}

  getUsersHttp(): Promise<User[]> {
    return this.http.get(this.userUrl)
      .toPromise()
      .then(response => response.json().data as User[])
      .catch(this.handleError);
  }

서비스를 위해 몇 가지 기본 사항만 가져옵니다.

import { Injectable }     from '@angular/core';
import { Headers, Http, Response } from '@angular/http';
import { User } from './user';

어디에user.ts기본적으로 의 복사본입니다.heroe.tsTOH에서, 그래서:

export class User {
  id: number;
  name: string;
}

서비스에서 이 특정 방법을 사용하는 방법:처음에는 여러 가지를 시도하지만 디버깅하는 동안에는 console.log만 시도합니다.

 console.log(this.userService.getUsersHttp());

콘솔에서 페이지를 로드할 때 여러 개의 오류를 발견했습니다.첫 번째는:

예외:TypeError: this.http.get(...).toPromise가 함수가 아닙니다.

두 번째는 다음과 같습니다.

예외:TypeError: this.http.get(...).toPromise가 함수BrowserDomAdapter.logError@가 아닙니다.

서비스 자체는 괜찮아 보입니다.서비스를 에 추가했습니다.app.module.ts다음 줄에서:

providers: [ HTTP_PROVIDERS, UserService ]

그리고 그것은 내가 어떤 기능을 가진 데이터를 직접 돌려주면 작동합니다.getUsertHttp함수):

  getUsers() {
    return [{'id': 1, 'name': 'User1'}, {'id': 2, 'name': 'User2'}];
  }

저는 중요할 수 있는 모든 것을 설명하려고 노력합니다. 질문이 조금 길다면 죄송합니다.여러분, 제가 뭘 잘못하고 있는지 힌트를 주실 수 있나요?

가져오기가 누락된 것 같습니다.

import 'rxjs/add/operator/toPromise';

언급URL : https://stackoverflow.com/questions/39121286/angular2-typeerror-this-http-get-topromise-is-not-a-function