【问题标题】:Get typed information from subscribe callback for Observable.fromEvent()从 Observable.fromEvent() 的订阅回调中获取类型信息
【发布时间】:2018-07-18 10:13:20
【问题描述】:

我有这个:

this.keydownSub = Observable.fromEvent(document, 'keyup').subscribe(v => {

  if(v){
    if(v.keyCode == '37'){
      this.goLeft();
    }
    if(v.keyCode == '39'){
      this.goRight();
    }
  }
});

问题是没有变量v的类型信息,这是因为事件类型是动态的(使用了'keyup')。

有没有办法使用这样的东西:

this.keydownSub = Observable.fromEvent(document).keyUp().subscribe(v => {

  if(v){
    if(v.keyCode == '37'){
      this.goLeft();
    }
    if(v.keyCode == '39'){
      this.goRight();
    }
  }
});

这样静态类型信息是可能的/可用的?

【问题讨论】:

  • 如果我使用这个(v: KeyboardEvent),那应该是正确的,但我不得不猜测。

标签: rxjs rxjs5 angular2-observables angular-observable


【解决方案1】:

fromEvent observable 创建者是一个通用函数。如果您知道与事件对应的类型,则可以将该类型指定为类型参数。像这样:

const event$ = Rx.Observable.fromEvent<KeyboardEvent>(document, "keyup");

【讨论】:

猜你喜欢
  • 2022-10-15
  • 1970-01-01
  • 2011-08-18
  • 2018-04-23
  • 1970-01-01
  • 2017-01-31
  • 2012-06-22
  • 2020-04-23
  • 2021-09-28
相关资源
最近更新 更多