我尝试了一段时间,但仍然不知道如何用RxJS实现以下内容。
这是一个点击事件:MainMethod((
在这个主方法((中
我首先需要调用API端点来获取数据:reponseData从GetResponseDataMethod((
GetResponseDataMethod(){
this.service.getResponse(input).subscribe(result => {return result.Data;})
}
此GetResponseDataMethod((工作正常。我可以得到数据。
然后在MainMethod((中,我需要从该GetResponseDataMethod((获得响应,然后将其传递给另一个子组件。但是它总是打开这个组件,然后只通过这个GetResponseDataMethod((。
对于我需要使用的API响应数据,基本上我没有定义。
MainMethod(){
var responseData = GetResponseDataMethod();
this.dialog.open(ChildComponent, {data : {responseDataParameter: responseData}})
}
如何使用RxJS实现此功能,请提供帮助?
非常感谢!
您的端点方法没有返回任何内容。
全局变量finalresult;在变量中保持值,然后返回该变量类似于finalresult=result。数据并在您的service.getResponse行结束后返回finalresult;
从手机回复时出现格式代码问题,以便向您解释。希望它能起作用
必须保留API请求的异步特性。换句话说,您需要在需要可观察到的响应的地方订阅它。此外,您不能从订阅回调返回数据。
MainMethod(){
this.service.getResponse(input).subscribe({
next: (result: any) => {
this.dialog.open(ChildComponent, {data : {responseDataParameter: result.Data}});
},
error: (error: any) => {
// handle errors
}
});
}