如何检索API响应数据,然后在下一个方法中使用它?RxJS



我尝试了一段时间,但仍然不知道如何用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
}
});
}

相关内容

最新更新