簡體   English   中英

如何在Angular2中正確編寫http.get?

[英]How to properly write http.get in Angular2?

我用JS寫了http.get函數,但我需要將它放在Angular2的Typescript中。

我認為它涉及map,但是我不知道要返回一個函數。

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;
                });
        };

}

最簡單的形式是:

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

這將返回一個observable類型,與您可能已經使用過的promise不同,它可以返回成功或失敗。 可觀察對象比應許對象要強大得多,但是以簡單的形式,您將獲得成功或失敗的響應。

Map只是將對象轉換為另一個對象,即響應,並返回響應的JSON。

那是沒有全局錯誤處理之類的。

您將在以下組件中使用該組件:

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

為了進一步了解Angular2中的HTTP客戶端, 文檔非常詳盡。

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM