constructor(private checkout: CheckoutService,private routers: Router) { }
this.checkout.getCustomerOrderId(userid).subscribe(result=>{ result });
******服务文件******中使用的getCustomerOrderId()函数
getCustomerOrderId(param){
return this.http.get(this.ROOT+'getcustomerorderid'+param).map(
(response: Response) => {
return response.json();
});
}
******在ts文件******中使用MyOtherFunction()函数
MyOtherFunction(){
Here i want to use result data (service response result)
}
然后正确回复响应。 所以我如何在ts文件中的另一个函数中使用此响应结果。 感谢
答案 0 :(得分:0)
制作另一个变量并将数据存储在其中
现在使用这种方法取决于你实际调用MyOtherFunction()的时间,如果你在组件启动时调用它,你不能确定你的其他变量中是否有数据,因为它是异步的。然而,如果你在一个事件或某个事件中调用了这个函数,那么你可以确定你的另一个另一个变量有数据。
您可以在html中无关地使用此另一个变量。 但是,如果你在开始时调用MyOtherfunction,那么你应该有一个事件发射器,或者在为你的另一个变量分配结果后在响应调用中调用该函数
像这样的东西
this.anotherVariable: any;
getCustomerOrderId(param){
return this.http.get(this.ROOT+'getcustomerorderid'+param).map(
(response: Response) => {
this.anotherVariable = result
this.MyOtherFunction()
return response.json();
});
}
答案 1 :(得分:0)
在MyOtherFunction中使用变量之前,必须确保服务已运行。例如,使用console.log
仔细检查This.laterUse:any
this.checkout.getCustomerOrderId(userid).subscribe(result=>{ this.laterUse = result });
getCustomerOrderId(param){
return this.http.get(this.ROOT+'getcustomerorderid'+param).map(
(response: Response) => {
return response.json();
});
}
MyOtherFunction(){
console.log(this.laterUse)
}
答案 2 :(得分:0)
如果我理解,您希望在 myOtherFunction 中使用 getCustomerOrderID 。因此,如果您在 myOtherFunction 中订阅 getCustomerOrderID ,您将在ts文件中处理此响应。 这是代码:
MyOtherFunction(userid){
this.checkout.getCustomerOrderId(userid).subscribe(
result => {
// Here you can use the result data
},
error => {
console.log(error);
}
);
}
WITH GLOBAL PROPERTY,不推荐。
private customerOrderID;
constructor(private checkout: CheckoutService,private routers: Router) { }
initializeCustomerId(userid){
this.checkout.getCustomerOrderId(userid).subscribe(
result => {
this.customerOrderID = result;
},
error => {
console.log(error);
}
);
}
MyOtherFunction(){
// If you wants to initialize this customerOrderID
initializeCustomerId(userid);
// If you initialized customerOrderID you will have the result here
this.customerOrderId;
}
现在,您将选择初始化此customerID的方法,以及构造函数或将要使用的函数。