How to detect animationAction ending time

I want to start second animation after end first animation without stopping first animation. how can i do that. Here is my code
When i do uncomment of commented code animationActions[1] starts when animationsActions[3] doesn’t ended

const setAction = (toAction: THREE.AnimationAction, setIfSame: boolean = false) => {
    if(toAction != activeAction || setIfSame) {
        lastAction = activeAction
        activeAction = toAction
        lastAction.fadeOut(0.2)
        activeAction.reset()
        activeAction.fadeIn(0.2)
        activeAction.play()
    } 
}

const onSpaceDown = (event: KeyboardEvent) => {
    const {code} = event
    if (code === 'Space') {
        TWEEN.removeAll()
        setAction(animationActions[3], true)
        activeAction.clampWhenFinished = true
        activeAction.loop = THREE.LoopOnce
        // setAction(animationActions[1])
    }
}
window.addEventListener('keydown', onSpaceDown, false)

Listen for the end of the animation

const mixer = new THREE.AnimationMixer(model)
mixer.addEventListener('finished', ()=>{})

monitor animation loop

const mixer = new THREE.AnimationMixer(model)
mixer.addEventListener('loop', ()=>{})

Ok thank you for answer. I try it and its worked but anyway i want to know has any method or properties of animationAction with which i can detect end time of current animationAction?

I’m sorry I didn’t quite understand what you said about the end time of the current animationAction.