【发布时间】:2019-09-13 17:46:23
【问题描述】:
我有一个服务,我有这样的登录功能
public userLogin(body) {
return new Promise((resolve, reject) => {
this.apiService
.generateApiRequest({
route: Constants.API_ROUTES.USER_LOGIN.route,
type: Constants.API_ROUTES.USER_LOGIN.type,
body: body
})
.map(res => res.json())
.subscribe(response => {
resolve(response);
});
});
}
并在这样的实用程序中拥有generateApiRequest 函数
generateApiRequest(request, isTokened = false) {
var res;
let response;
if (!request.headers) {
request.headers = new HttpHeaders();
}
if (isTokened) {
request.headers.append('Token', this.localCache.getToken());
}
switch (request.type) {
case Constants.REQUEST_TYPE.GET:
response = this.get(request);
break;
case Constants.REQUEST_TYPE.POST:
response = this.post(request);
break;
case Constants.REQUEST_TYPE.PUT:
response = this.put(request);
break;
case Constants.REQUEST_TYPE.DELETE:
response = this.delete(request);
break;
}
return response;
}
当我将旧的http 升级到新的HttpClient 后,我必须更改管道函数内的地图,所以我确实喜欢这个
public userLogin(body) {
return new Promise((resolve, reject) => {
this.apiService
.generateApiRequest({
route: Constants.API_ROUTES.USER_LOGIN.route,
type: Constants.API_ROUTES.USER_LOGIN.type,
body: body
})
.pipe(map(res => res.json()))
.subscribe(response => {
resolve(response);
});
});
}
但是编译器在这一行给出错误.pipe(map(res => res.json()))
我该如何解决?
【问题讨论】:
-
请参考文档:angular.io/guide/http
-
现在你已经得到了答案,但是为了将来,请把你得到的错误也发布出来。 “编译器给出错误”并不总是足够的信息
标签: angular angular7 angular-httpclient