加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Angular2中,如何返回服务值?

发布时间:2020-12-17 08:52:38 所属栏目:安全 来源:网络整理
导读:我在这里跟随Angular2的教程说明: https://angular.io/docs/ts/latest/tutorial/toh-pt4.html 有一点,它指出要将服务的承诺信息返回给组件,需要以下语法: getHeroes() { this._heroService.getHeroes().then(heroes = this.heroes = heroes);} 我试图准确
我在这里跟随Angular2的教程说明:
https://angular.io/docs/ts/latest/tutorial/toh-pt4.html

有一点,它指出要将服务的承诺信息返回给组件,需要以下语法:

getHeroes() {
  this._heroService.getHeroes().then(heroes => this.heroes = heroes);
}

我试图准确理解这里发生了什么,虽然我是Angular2和TypeScript的新手.文件说:

Our callback sets the component’s heroes property to the array of
heroes returned by the service.

我对括号中发生的事情感到困惑,特别是最终的“英雄”来自哪里.据我所知,这项服务不会归还“英雄”.相反,它从mock-heroes导入并返回HEROES,后者本身使用Heroes接口并返回HEROES数组.在任何一个中我都看不到“英雄”(小写).

“英雄”是在飞行中创造出来的吗?有人可以更详细地解释每个部分:

heroes => this.heroes = heroes

呢?非常感谢.

要记住的第一件事是,方法heroService.getHeroes()不会返回英雄,而是一个最终会解决的承诺,返回一个英雄列表:
getHeroes() {
    return Promise.resolve(HEROES);
}

让我们解释一下这行代码:

this._heroService.getHeroes().then(heroes => this.heroes = heroes);

这也可以用以下方式编写:

this._heroService.getHeroes().then(function(heroesFromPromise) {
    this.heroes = heroesFromPromise;
});

这意味着,调用_heroService.getHeroes()方法,该方法返回一个promise.当promise解析时,将使用promise的结果调用其中的回调.

当发生这种情况时,执行调用回调,该回调接受promise(heroesPromise)的输出,并将其分配给this.heroes成员变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读