I usually use
currentAnimatorStateInfo.normalizedTime > n
but is there any better way for this?
I want my animation loop n times and invoke call back.
blue region is your callback or event. just make an script and set it to object uses this animation. when you select that event, inspector shows field you can enter name of you function. remember script should be attached to that object. you can use an counter in you code to cound how many times this event is called.