解析 angular subscribe中, ES6 Arrow 箭头函数

箭头函数表达式的语法比函数表达式更简洁,并且没有自己的thisargumentssupernew.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。

在hero.component中 我们定义了一个函数来获取hero.service的请求

getHeroes(): void {
    this.heroService.getHeroes()
    .subscribe(heroes => this.heroes = heroes);
}

分解开等同于

getHeroes(): void {
    var _this = this; 
    this.heroService.getHeroes()
    .subscribe(function(heroes) {
        _this.heroes = heroes;
    });
}

也可以写成:

getHeroes(): void {
    this.heroService.getHeroes()
    .subscribe(newheroes => this.heroes = newheroes);
}

这种写法,确实比JAVA 8 的Lambda 表达式和:: 写法墨迹。。。

想简化,但是又不够彻底

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular,`subscribe`是用于订阅并处理Observables的方法。Observables是用于处理异步数据流的对象。通过使用`subscribe`方法,可以监听并处理Observables发出的数据、错误和完成事件。 `subscribe`方法的基本语法如下: ```typescript observable.subscribe( next: (value: T) => void, error?: (error: any) => void, complete?: () => void ); ``` 其,`next`是一个回调函数,用于处理Observables发出的每个值。`error`是一个可选的回调函数,用于处理Observable发生的错误。`complete`也是一个可选的回调函数,用于处理Observable的完成事件。 下面是一个示例,展示了如何在Angular使用`subscribe`方法: ```typescript import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; @Component({ selector: 'app-example', template: ` <h1>{{ data }}</h1> ` }) export class ExampleComponent implements OnInit { data: string; ngOnInit() { const observable = new Observable<string>(subscriber => { setTimeout(() => { subscriber.next('Hello, Angular!'); subscriber.complete(); }, 2000); }); observable.subscribe( value => { this.data = value; }, error => { console.error(error); }, () => { console.log('Observable completed'); } ); } } ``` 在这个例子,我们创建了一个Observable,并使用`setTimeout`模拟了一个异步操作。在2秒后,Observable会发出一个值,然后完成。通过使用`subscribe`方法,我们可以在组件订阅这个Observable,并在接收到值时更新`data`属性,处理错误和完成事件。 希望这个例子能帮助你理解在Angular如何使用`subscribe`方法。如果有任何疑问,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值