Angular 4检索get调用返回的号码
我有我的spring boot后端应用程序,我在其中编写了以下查询:Angular 4检索get调用返回的号码,angular,typescript,get,Angular,Typescript,Get,我有我的spring boot后端应用程序,我在其中编写了以下查询: @Query("SELECT COUNT(*) " + "FROM Foo " + "WHERE name = :name and surname = :surname ") Integer countByNameAndSurname(@Param("name") String name, @Param("surname") String surname); var count
@Query("SELECT COUNT(*) "
+ "FROM Foo "
+ "WHERE name = :name and surname = :surname ")
Integer countByNameAndSurname(@Param("name") String name, @Param("surname") String surname);
var count = this.dataService.getCountExternalCvs();
console.log(count);
查询和我的后端工作如我所愿。在使用Angular 4构建的前端,我无法检索从后端返回的纯整数。不管我怎么做,我都解决不了
getCount() {
return this.http.get(this.actionUrl + this.param,{headers: DataService.getHeaders()})
.subscribe(response => {
console.log(response);
console.log(response.json());
this.countResult = response.json();
//return this.countResult;
return response.json();
})
}
(我还尝试将返回值设置为getCount():number{…}
,并返回我在调用中分配的变量countResult
,但没有成功。)
这是我的服务类中的方法。我尝试将它赋给一个公共变量this.countResult
,并尝试从另一个类访问它,同时返回response.json()代码>这是我需要的纯整数。我保证电话打得很好。我已经测试过不止一次了
然而,我总是得到订户对象,其中包含一个大的空
我对这项服务的要求如下:
@Query("SELECT COUNT(*) "
+ "FROM Foo "
+ "WHERE name = :name and surname = :surname ")
Integer countByNameAndSurname(@Param("name") String name, @Param("surname") String surname);
var count = this.dataService.getCountExternalCvs();
console.log(count);
当我打印计数
时,它是上面提到的订户obj
我不得不使用.subscribe()
,因为我不希望响应是一个承诺,我需要的是它的值
这是我在服务调用中打印的response和response.json(),以及通过var count=this.dataService.getCountExternalCvs()获得的订户对象代码>
无论我尝试了什么,我都无法摆脱订户obj并检索到真实的响应。您需要从服务返回如下所示的Observable
getCount():Observable<any> {
//service code with MAP to return the json object
}
并在HTML标记中使用countResult来显示计数。您需要从服务返回如下所示的Observable
getCount():Observable<any> {
//service code with MAP to return the json object
}
并在HTML标记中使用countResult来显示计数。服务不得订阅。它必须返回一个可观察的。调用服务的组件是在发出事件时订阅并设置其状态的组件。不能将异步调用转换为同步调用。这显然是不可能的。服务不能订阅。它必须返回一个可观察的。调用服务的组件是在发出事件时订阅并设置其状态的组件。不能将异步调用转换为同步调用。这显然是不可能的。