cari

Rumah  >  Soal Jawab  >  teks badan

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

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

app/hero.service.ts

export 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?

PHPzPHPz2873 hari yang lalu625

membalas semua(2)saya akan balas

  • PHPz

    PHPz2017-04-17 15:27:43

    app/hero.service.ts

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

    return Promise.resolve(HEROES);

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

    balas
    0
  • 迷茫

    迷茫2017-04-17 15:27:43

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

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

    balas
    0
  • Batalbalas