通过API调用远程后端的Ionic http可观察工作流



我对如何在我的Ionic应用程序中创建逻辑API结构有点困惑。我一直在谷歌上搜索这个话题。我看过很多关于可观测性、承诺和异步/等待的帖子。Josh Morony已经编写并放映了一些有用的介绍教程。我认为Ionic/Angular中的http类只会告诉我是否有什么变化。

基本上这就是我的代码结构:

join() {
let data = {
key1: 'value1', ...
};
let response = this.myApi.join(data);
if(response.status === 'VALID') {
// change root
} else {
// display error
}
}

在我的API提供商中

join(data) {
return this.http.post(this.apiEndPoint + 'session/join', JSON.stringify(data), {headers: this.headers})
.subscribe((data) => {
return data;
});
}

我无法等待对API的请求完成并继续处理响应数据。

所以我的问题是:

我如何创建一个逻辑信息流,在那里我验证来自远程服务器上应用程序的用户输入,等待响应并根据结果继续?

您应该在组件&只返回在您的服务提供商中可观察到的:

join() {
let data = {
key1: 'value1', ...
};
let response:any;
this.myApi.join(data).subscribe(data => {response = data
if(response.status === 'VALID') {
// change root
} else {
// display error
}
});
}

在您的API供应商中

join(data) {
return this.http.post(this.apiEndPoint + 'session/join', JSON.stringify(data), {headers: this.headers});
}

最新更新