我试图通过自定义查询查询我的后端,从我的数据库中的表中找到ID
。但是,当我向GET Method
发送subscribing
我的服务Observable
时,won't assign
将property
响应(只是一个数字)发送给{{1}服务类。
这是我的代码:
rentedCarId:string;
getId(id:number): void {
let url = this.baseUrl+"/search/findRentedCar?customer="+sessionStorage.getItem("customerID")+"&car="+id;
console.log("Input id: " + id);
let headers = new Headers();
headers.set('Accept', 'application/json');
this
.http
.get(url, {headers})
.map(resp => resp.text())
.subscribe(
(id) => {
console.log(id); //This will print out the number!
this.rentedCarId = id; //This won't work! => undefined
},
(err) => {
console.error('Error while searching for rentedCar ID!', err);
});
}
deleteRentedCarEntry(id:number){
this.getId(id);
console.log("ID of Row in RentedCars table (response): " + this.rentedCarId); //will be undefined!
}
方法deleteRentedCarEntry()
从我的其他组件执行。
如果我在应用程序开始时执行它,log
中的deleteRentedCarEntry()
将返回undefined
rentedCarId
属性的console.log
!
然而,subscribe
方法中的id
会记录正确的值,即使是第一次!为什么它不会在第一次之后从响应中分配{{1}}值,而只是在第二次时分配?{/ p>
答案 0 :(得分:2)
使用do来设置rentedCarId。
File f = new File(UUID.randomUUID());
jarFile.renameTo(f);