我正在研究離子框架,並且我想在某個時間間隔內調用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) –