在教程angular2中,有两种使用Promises的方法:
https://angular.io/docs/ts/latest/tutorial/toh-pt4.html
英雄服务.ts
import { Injectable } from '@angular/core';
import { Hero } from './hero';
import { HEROES } from './mock-heroes';
@Injectable()
export class HeroService {
getHeroes() {
return Promise.resolve(HEROES);
}
getHeroesSlowly() {
return new Promise<Hero[]>(resolve =>
setTimeout(() => resolve(HEROES), 2000) // 2 seconds
);
}
}
为什么函数HeroService()只使用Promise直接调用Promises对象。决定这个物体是从哪里来的,它是ES6?但在下一个函数getHeroesSlowly()中,用new调用一个promises,为什么会有这种区别?