promise2中的promise对象

时间:2016-08-16 17:26:32

标签: angular es6-promise

在angular2教程中,有两种方法可以使用Promise: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()只是直接使用Promise.resolve调用Promises对象;从哪里来这个对象,它是ES6?但是在下一个函数中,getHeroesSlowly()用new来调用promises,为什么会出现这种差异?

1 个答案:

答案 0 :(得分:1)

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