我写在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;
});
};
}
最简单的形式是:
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是相当彻底。
希望帮助。