node.js - Angular2教程中,这里返回值为什么是heroes?

【字号: 日期:2022-10-01浏览:4作者:雯心

问题描述

点这里看文档Angular2文档 文件详情在教程最后面

app/hero.service.tsexport class HeroService { getHeroes(): Promise<Hero[]> { return Promise.resolve(HEROES); }}

如上述代码,getHeroes()返回一个承诺,resolve之前是HEROES

app/app.component.ts getHeroes(): void { this.heroService.getHeroes().then(heroes => this.heroes = heroes); }

据我了解,=>是匿名函数 那么heroes => this.heroes = heroes就大致等价于

function(heroes) { return this.heroes = heroes}

也就是说服务的getHeroes()返回的结果应该是是heroes。那么问题来了, 明明是 return Promise.resolve(HEROES)为什么在使用的时候又是heroes?

问题解答

回答1:

app/hero.service.ts

export class HeroService { getHeroes(): Promise<Hero[]> {

return Promise.resolve(HEROES);

}} 这个是es6语法还是typescript语法?

回答2:

可不可以这样理解:服务return Promise.resolve(HEROES),返回的数据作为函数的参数传给this.heroes

function(heroes) { return this.heroes = heroes}

相关文章: