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.ts
TOH에서, 그래서:
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
'programing' 카테고리의 다른 글
새 리포지토리에서 오리진 마스터 푸시 오류 (0) | 2023.07.08 |
---|---|
사이트 '글로벌이 정의되지 않았습니다' (0) | 2023.07.08 |
SQL Server에서 RANK()를 사용하는 방법 (0) | 2023.07.08 |
오류 코드: 1054:테이블이 있는 경우 '필드 목록'에서 'table_name.column_name' 열을 알 수 없음 (0) | 2023.07.08 |
오류: 'babel-register' 모듈을 찾을 수 없습니다. (0) | 2023.07.08 |