angular2中的承诺对象

promise object in angular2

在教程angular2中,有两种使用Promises的方法:https://angular.io/docs/ts/latest/tutorial/toh-pt4.html

hero.service.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() 直接调用 Promises 对象 Promise.resolve;这个对象是从哪里来的,它是 ES6 ?但是在下一个函数 getHeroesSlowly() 中用 new 调用一个 promises,为什么会有这种差异?

Promise.resolve()是为普通情况提供的静态方法(class级方法),new Promise()只是调用构造函数。