所以我在一个组件中有三个方法,它们都以非常类似的方式进行不同的HTTP post请求调用。
但首先,我在组件中有三个类变量,它们以我的请求存储响应的状态,所有这些都以类似的方式定义。他们是:
myPath: boolean = false;
updateVariable = [];
执行实际发布请求的方法是:
onPost(obj:JSON, postPath: string): any {
this._httpTestService.postJSON(obj, postPath).subscribe(
data => this.updateVariable[0] = data,
error => alert(error),
() => console.log("update variable is: " , this.updateVariable)
);
}
我的三种方法设置与下面的方法非常相似。我有这个" updateVariable"是因为我试图直接传递我想要的变量,但由于范围,它没有更新类变量本身 - 只是它在方法中的值。但即使我传入一个列表,当post请求返回响应时,类变量仍然没有得到更新。我认为它会更新列表中包含的类变量,但它仍然是 undefined '当在这个" onPost"之外访问时方法。
private validatePath(model: any) : boolean {
this.obj = {"input": model.myPath}; // already defined
this.postPath = '/v1/validate_metadata_path';
this.updateVariable = [this.myPath];
this.onPost(this.obj, this.postPath);
return false;
}
所以我的问题是,有什么方法可以传递或设置我的" onPost"方法,以便我可以更新我想要的任何类变量?或者,我是否必须单独制作一个" onPost"我的三种方法中每种方法需要一个帖子请求的方法?
您可以假设HTTP发布请求" onPost"使我的HTTP服务正常工作。