【发布时间】:2017-10-13 12:27:06
【问题描述】:
我正在研究离子框架,我想在某个时间间隔内调用 API 调用。每 30 秒,我想使用按钮或其他东西手动启动和停止此 API 调用。因为我是离子框架的新手,所以我不知道如何实现,我只知道调用 api,但我不知道如何在特定时间间隔内调用 API,手动启动和停止。所以有人可以帮助我吗?谢谢提前。我到目前为止所做的如下,
authenticate.ts
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class AuthenticateProvider {
body: any;
// apiUrl = 'https://jsonplaceholder.typicode.com';
apiUrl = 'http://dev123:5800/api';
getToken(body) {
if (this.body) {
return Promise.resolve(this.body);
}
return new Promise((resolve,reject) => {
this.http.post(this.apiUrl+'/authenticate',body)
.subscribe(res => {
resolve(res);
}, (err) => {
reject(err);
});
});
}
}
login.ts
export class LoginPage {
constructor(public navCtrl: NavController,
public authenticateProvider: AuthenticateProvider) {
}
getToken() {
this.authenticateProvider.getToken(this.creds)
.then(result => {
if (JSON.parse(result.text()).response !== "OK") {
this.err = JSON.parse(result.text()).response;
} else {
dosomething();
}
}, (err) => {
console.log("Error is" + err);
});
}
}
【问题讨论】:
-
我想你需要像普通的
setInterval()这样的东西。 link to MDN -
Angular2 http at an interval 的可能重复项。
-
创建一个包含用于暂停/恢复它的 API 的服务。当调用 resume() 时,执行 this.interval = setInterval(...)。当 pause() 被调用时执行 clearInterval(this.interval)
-
@PhilipBrack 你能给我举个例子吗?
标签: api ionic-framework ionic2 ionic3 intervals