如何正确地写在http.get Angular2?

问题描述 投票:-1回答:1

我写在JS的http.get功能,但我需要它是打字稿的Angular2。

我觉得它涉及的地图,但我不知道返回的功能。

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

}
angular http
1个回答
3
投票

最简单的形式是:

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

这将返回observable类型,这是不是不像一个承诺,就像你可能已经使用,它可以返回一个成功或失败。观测很多比承诺更强大,但在一个简单的形式,你会得到一个成功或失败的响应。

Map只是变换对象到其它目的,即,响应和返回该响应的JSON。

这是没有全局的错误处理或任何东西。

你会使用与您的组件:

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

对于Angular2 HTTP客户端上进一步阅读时,docs是相当彻底。

希望帮助。

© www.soinside.com 2019 - 2024. All rights reserved.