이온 프레임 워크에서 작업 중이며 전의 시간 간격으로 API 호출을 호출하고 싶습니다. 30 초마다 버튼이나 다른 것을 사용하여이 API 호출을 수동으로 시작하고 중지하려고합니다. 내가 이온 framwork에 새로운 나는 그것을 달성하는 방법을 몰라, 내가 아는 모든 API를 호출하는 것입니다,하지만 수동으로 시작하고 중지하는 특정 시간 간격으로 API를 호출하는 방법을 모르겠습니다. 그래서 아무도 나를 도울 수 있습니까? 고마워요. 내가 지금까지했던 것은ionic에서 시간 간격으로 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-an-interval). – David
일시 중지/다시 시작하는 API가 포함 된 서비스를 만듭니다. resume()이 호출 될 때 this.interval = setInterval (...)을 수행하십시오. pause()가 호출 될 때 clearInterval (this.interval)을 수행하십시오 –