mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-22 21:48:42 +08:00
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
import {Injectable, Inject} from 'angular2/core';
|
|
import {Http} from 'angular2/http';
|
|
|
|
/*
|
|
Generated class for the <%= jsClassName %> provider.
|
|
|
|
See https://angular.io/docs/ts/latest/guide/dependency-injection.html
|
|
for more info on providers and Angular 2 DI.
|
|
*/
|
|
@Injectable()
|
|
export class <%= jsClassName %> {
|
|
constructor(@Inject(Http) http) {
|
|
this.http = http;
|
|
this.data = null;
|
|
}
|
|
|
|
load() {
|
|
if (this.data) {
|
|
// already loaded data
|
|
return Promise.resolve(this.data);
|
|
}
|
|
|
|
// don't have the data yet
|
|
return new Promise(resolve => {
|
|
// We're using Angular Http provider to request the data,
|
|
// then on the response it'll map the JSON data to a parsed JS object.
|
|
// Next we process the data and resolve the promise with the new data.
|
|
this.http.get('path/to/data.json')
|
|
.map(res => res.json())
|
|
.subscribe(data => {
|
|
// we've got back the raw data, now generate the core schedule data
|
|
// and save the data for later reference
|
|
this.data = data;
|
|
resolve(this.data);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|