我正在研究离子框架,并且我想在某个时间间隔内调用API调用。每30秒钟,我想使用按钮或其他方式手动启动和停止此API调用。因为我是新离子框架,我不知道如何实现这一点,我所知道的只是调用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()'的东西。 [链接到MDN](https://developer.mozilla.org/en-US/Add-ons/Code_snippets/Timers) –
[Angular2 http间隔]的可能重复(https://stackoverflow.com/questions/) 35316583/angular2-HTTP-AT-一个间隔)。 – David
创建一个包含API的服务以暂停/恢复它。当resume()被调用时,执行this.interval = setInterval(...)。当调用pause()时执行clearInterval(this.interval) –