import { AsyncTimer } from './AsyncTimer'; export class AnimationFrameTimer extends AsyncTimer { /** * An AnimationFrameTimer is timer device that makes use of the requestAnimationFrame/cancelAnimationFrame API from modern browsers to trigger asynchronous ticks. * * @constructor */ constructor() { // eslint-disable-line no-useless-constructor super(); } prepare(callback) { return window.requestAnimationFrame(callback); } cancel(animationFrameId) { window.cancelAnimationFrame(animationFrameId); } }