我将项目从Angular 4转换为Angular7。我已经将http转换为httpClient,并且也使用了common / http。我是Angular的新手,我不知道如何将UrlSearchParms和RequestOptions转换为新版本。有人可以告诉我如何将以下转换为角度7吗?提前致谢。我知道这似乎很愚蠢。但是希望你能忍受并指出一个方法。
答案 0 :(得分:0)
您可以省略该课程,并为您的通话提供选项。您还应该将RxJS运算符更改为使用pipe
:
return this.http.get(environment.API_BASE_URL + '/' + apiUrl, {
headers,
search: params
}).pipe(
.map(this.extractData),
.catchError(this.handleError)
);
答案 1 :(得分:0)
在Http Client中,您可以通过以下方式实现相同的目的。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UserDefaults.standard.set(false, forKey: "isPopOverVCPopped")
if UserDefaults.standard.bool(forKey: "isPopOverVCPopped") == false {
UserDefaults.standard.set(true, forKey: "isPopOverVCPopped")
popView()
}
}
这里List<Cat> cats = petStore.getCatsForSale();
cats.stream().limit(1)
.flatMap(c -> {
logger.info("Processing for cats: " + cats.size());
return cats.stream();
}).forEach(Cat::giveFood);
和import { HttpClient,HttpHeaders, HttpParams } from '@angular/common/http';
constructor(private httpClient: HttpClient) { }
getData(){
let headers = new HttpHeaders();
headers = headers.append('header-1', 'value-1');
headers = headers.append('header-2', 'value-2');
let params = new HttpParams();
params = params.append('param-1', 'value-1');
params = params.append('param-2', 'value-2');
this.httpClient.get("/data", {headers , params })
}
是不可变的类,因此在每个调用集或追加方法之后,它们将返回一个新实例,这就是您应该这样做的原因:params = params.append(...)>
希望这会有所帮助!