在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,为什么会出现这种差异?
答案 0 :(得分:1)
Promise.resolve()
是为常见情况提供的静态方法(类级方法),new Promise()
只调用构造函数。