This is primarily just a design decision. Consider that you can actually do these things at the same time. If you look at the situation in terms of your update loop:
Update 1:
Calculate outcome for entity: n
Play animation: n (frame 1)
Update 2:
Calculate outcome for entity: n+1
Play animation: n (frame 2) and n+1 (frame 1)
Update 3:
Calculate outcome for entity: n+2
Play animation: n (frame 3) and n+1 (frame 2) and n+2 (frame 1)
Update 4:
Calculate outcome for entity: none left
Play animation: n (frame 4) and n+1 (frame 3) and n+2 (frame 2)
Alternatively, if you can calculate the outcome very quickly, you can do all the entities in the first update, then spend the rest of your updates playing animations.
The reason I say it's mostly a design decision is because the only reasons to do it one way or the other is the requirements of your project or your design preference. In these situations it's usually best to just pick a method you think will work and go with it. Trying something out will help you learn if it was a good choice and give you much more information about the situation. It also often opens up alternatives that you didn't know existed until you tried implementing something.