Let's say we're talking about a Scrum development team.
A task can be implemented wrong or the implementation may contain unaccetable flaws. If this is discovered near the end of a Sprint the Sprint Goal may not be achieved. So a code review is an important procedure and should be performed as soon as possible from the possible risks' point of view.
On the other hand, if a developer performs a code reviews (of ther developers' tasks) two or more times during a day, then this inflicts a considerable context switching.
In a Scrum team, when should a developer perform a code review of another developer's task?
after completing their own task (another developer's task becomes blocked, increased risks)
as soon as possible (may inflict a lot of context switching)
a policy is required (e.g. a developer performs all code reviews at the end of the day)
I'm inclined to the last option. What is your approach?