Получите напечатанную информацию от обратного вызова подписки для Observable.fromEvent()
У меня есть это:
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();
}
}
});
так что статическая типизация информации возможна / доступна?
1 ответ
Решение
fromEvent
Наблюдаемый создатель является универсальной функцией. Если вы знаете тип, соответствующий событию, вы можете указать этот тип в качестве параметра типа. Как это:
const event$ = Rx.Observable.fromEvent<KeyboardEvent>(document, "keyup");