How to get unit position after coroutine ends rather than its position before starting

I’m trying to check positions of multiple units after moving one of them, i use a coroutine to move it smoothly rather than teleporting where i want it to go. But the problem is that i need to check the position of the units after i make the move, but due to the coroutine, the code runs first before the routine gets to do its work and i get its previous position rather than the new one.
The movement is done with a script on a game object which holds the units while the position checking is being done of another script… is there a way i can make that part of the code wait or only proceed after the coroutine has finished?

I usually create a public boolean variable that is set before calling StartCoroutine and cleared when the coroutine finishes, so I could know when the movement ends (or whatever is being done by the coroutine). This answer shows Javascript and C# versions of a coroutine that moves an object and makes use of such variable (moving, in this script).

Since the script that needs to check the movement is attached to a different object, you must get references to the moving objects in order to get their scripts and check the variables - or provide a function in the movement script that can tell whether each object is moving.