[英]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.