2017-03-27 3 views
-1

js에서 http.get 함수를 worte하지만 Angular2의 Typescript에 있어야합니다. 너 나 좀 도와 줄 수있어? 지도가 포함되어 있다고 생각하지만 기능을 반환할지 모르겠습니다.angular2에 http.get을 올바르게 작성하는 방법

import { Injectable } from '@angular/core'; 
import { Http } from '@angular/http'; 
import 'rxjs/add/operator/map'; 


@Injectable() 
export class UrlExists { 

    constructor(
     public http: Http 
    ) { 
    } 

     newF(url) { 
      this.http 
       .get(url) 
       .success(function() { 
        return true; 
       }) 
       .error(function() { 
        return false; 
       }); 
     }; 

} 

답변

3

가장 단순한 형태는 다음과 같습니다

newF(url) { 
    return this.http.get(url).map(res => res.json())     
}; 

이것은 당신이 아마 사용하신 것처럼 성공 또는 실패를 반환 할 수 있다는 점에서, 약속과는 달리이 아닌 observable 유형을 반환합니다. Observables는 약속보다 훨씬 강력하지만 간단한 형태로 성공 또는 실패에 대한 응답을 받게됩니다.

Map은 객체를 다른 객체, 즉 응답으로 변환하고 응답의 JSON을 반환합니다.

전역 오류 처리 또는 그 밖의 것이 없습니다. 당신은 당신의 구성 요소에 그것을 사용하는 것이

: Angular2에서 HTTP 클라이언트에 대한 자세한 독서를 들어

myService.newF('some url').subscribe(
    data => //do something with data, 
    error => //do something on error 
); 

docs은 매우 철저하다.

희망이 있습니다.

+0

감사합니다. 간단하고 명확한 대답을하는 것이 좋습니다. 당신의 도움을 주셔서 감사합니다. – Louis

관련 문제