RXJS:属性 animationFrame 在 typeof Scheduler 上不存在
RXJS: Property animationFrame doesn't exsist on typeof Scheduler
尝试使用 RXJS 和 Scheduler。最后,我想在滚动事件上有一个请求动画帧。
问题:
我收到类型错误:属性 animationFrame doesn't exsist on typeof Scheduler
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/observable/of';
import 'rxjs/add/observable/timer';
import 'rxjs/add/operator/repeat';
import 'rxjs/add/operator/takeUntil';
import { Scheduler } from 'rxjs/Scheduler';
Observable
.of(0, Scheduler.animationFrame) // error here
.repeat()
.takeUntil(Observable.timer(1000))
.subscribe(() => console.log(x++));
问题:
如何让 animationFrame 被识别?
这可能有点令人困惑,但导出的顶级 Scheduler
和 rxjs/Scheduler
是不同的 - 之前是对象包含要使用的调度程序实例,后者是 Class 来实例化那些。因此,要获取 animFrame 调度程序实例,
import { animationFrame } from 'rxjs/scheduler/animationFrame';
我已经根据评论建议编辑了答案,建议最好直接导入个人而不是从顶级导入某些内容。一旦发生顶级导入,它将使所有操作员修补等,一次加载整个库,因此需要谨慎使用。 (或者最好不要一般)。
如果您想使用 AnimationFrameScheduler
,您需要导入它。 Scheduler
是通用调度程序 class。参见 https://github.com/ReactiveX/rxjs/blob/master/src/scheduler/animationFrame.ts
import { animationFrame } from 'rxjs/scheduler/animationFrame';
然后像这样使用它:
Observable.of(0, animationFrame)
自从 rxjs@6.0.0 animationFrame
重命名为 animationFrameScheduler
并且必须从 rxjs
.
导入
import { animationFrameScheduler } from 'rxjs';
尝试使用 RXJS 和 Scheduler。最后,我想在滚动事件上有一个请求动画帧。
问题: 我收到类型错误:属性 animationFrame doesn't exsist on typeof Scheduler
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/observable/of';
import 'rxjs/add/observable/timer';
import 'rxjs/add/operator/repeat';
import 'rxjs/add/operator/takeUntil';
import { Scheduler } from 'rxjs/Scheduler';
Observable
.of(0, Scheduler.animationFrame) // error here
.repeat()
.takeUntil(Observable.timer(1000))
.subscribe(() => console.log(x++));
问题:
如何让 animationFrame 被识别?
这可能有点令人困惑,但导出的顶级 Scheduler
和 rxjs/Scheduler
是不同的 - 之前是对象包含要使用的调度程序实例,后者是 Class 来实例化那些。因此,要获取 animFrame 调度程序实例,
import { animationFrame } from 'rxjs/scheduler/animationFrame';
我已经根据评论建议编辑了答案,建议最好直接导入个人而不是从顶级导入某些内容。一旦发生顶级导入,它将使所有操作员修补等,一次加载整个库,因此需要谨慎使用。 (或者最好不要一般)。
如果您想使用 AnimationFrameScheduler
,您需要导入它。 Scheduler
是通用调度程序 class。参见 https://github.com/ReactiveX/rxjs/blob/master/src/scheduler/animationFrame.ts
import { animationFrame } from 'rxjs/scheduler/animationFrame';
然后像这样使用它:
Observable.of(0, animationFrame)
自从 rxjs@6.0.0 animationFrame
重命名为 animationFrameScheduler
并且必须从 rxjs
.
import { animationFrameScheduler } from 'rxjs';