25 lines
		
	
	
		
			633 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			633 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {Injectable} from 'angular2/core';
 | |
| import {Hero} from './hero';
 | |
| import {BackendService} from './backend.service';
 | |
| import {Logger} from './logger.service';
 | |
| 
 | |
| @Injectable()
 | |
| // #docregion class
 | |
| export class HeroService {
 | |
|   // #docregion ctor
 | |
|   constructor(
 | |
|     private _backend: BackendService,
 | |
|     private _logger: Logger) { }
 | |
|   // #enddocregion ctor
 | |
| 
 | |
|   private _heroes:Hero[] = [];
 | |
| 
 | |
|   getHeroes() {
 | |
|     this._backend.getAll(Hero).then( (heroes:Hero[]) => {
 | |
|       this._logger.log(`Fetched ${heroes.length} heroes.`);
 | |
|       this._heroes.push(...heroes); // fill cache
 | |
|     });
 | |
|     return this._heroes;
 | |
|   }
 | |
| }
 | |
| // #enddocregion class
 |