【发布时间】:2019-04-16 14:34:11
【问题描述】:
我有一个 api 方法,它可以工作并返回一个 int 类型。我正在尝试将获取响应转换为角度数:
这就是我现在正在做的事情:
请求api:
GetNumberOfPages(topValue: number, companyNamePattern: string) {
return this.http.get<number>(apiUrl + '/getNumberOfPages?topValue=' + topValue +
'&companyNamePattern=' + companyNamePattern, httpOptions)
.pipe(
tap(v => console.log('GetNumberOfPages complete')),
catchError(this.handleError('GetNumberOfPages', []))
);
}
在组件中的使用:
getNumberOfPages(topValue, companyNamePattern) {
var numberOfPagesAny: any;
this.api.GetNumberOfPages(topValue, companyNamePattern).subscribe(n => numberOfPagesAny = n);
this.numberOfPages = parseInt(numberOfPagesAny, 10);
console.log(this.numberOfPages + " number")
console.log(numberOfPagesAny + " any")
}
【问题讨论】:
-
试试:
this.api.GetNumberOfPages(topValue, companyNamePattern).subscribe(n => {if(n){ numberOfPagesAny = n}}); -
这里尝试使用console.log看看有没有从api返回的数据
this.api.GetNumberOfPages(topValue, companyNamePattern).subscribe(n => console.log(n)) -
您在设置之前使用的是
numberOfPagesAny。看看GetNumberOfPages complete在NaN number之后是如何记录的? -
@HereticMonkey 是的,那么我应该如何解决这个问题?我也试过
finalize,但结果是一样的