我正在尝试使用离子访问REST API。
updateMachine(id) {
console.log(id);
if (this.data) {
return Promise.resolve(this.data);
}
return new Promise(resolve => {
this.http.get(this.apiUrl)
.map(res => res.json())
.subscribe(data => {
this.data = data;
resolve(this.data);
});
});
}
这是该服务的承诺。当我点击一个按钮时,它会触发调用上述服务的功能。但请求仅发送第一次离子应用程序加载。之后,它不会将请求发送到服务器。但是发送第一次获取的响应。
答案 0 :(得分:0)
这是代码编写工作的方式,逻辑是
如果未设置数据,则从http查询数据,否则返回现有数据
此部分检查现有数据并返回现有数据,您的功能不会再进行另一次http调用
if (this.data) {
return Promise.resolve(this.data);
}