Ask for better practice when animation with my timer

I have a timer,
must using this timer to drive the animations.

so, I set
this.editor.mixer.timeScale = 0;

BUT, my timer is just a timer, just dispatch 1 2 3 4 5…
it means my timer cant consider the clip’s duration.
it means clip cant repeat or pingpong.

NOW, I solve this problem by

this.mixer.timeScale = 1;
        this.mixer.update(delta); // delta from my timer
        this.mixer.timeScale = 0;

it seems not best practice

is there a better way?

Why don’t you use THREE.Clock? You then get proper time delta values which are require for correct updates of your animation mixer.