代码之家  ›  专栏  ›  技术社区  ›  stackdave

angular2中的promise对象

  •  0
  • stackdave  · 技术社区  · 8 年前

    在教程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,为什么会有这种区别?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Günter Zöchbauer    8 年前

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