Methods to correctly pause code execution

Hello colleagues!
I need to write a program, that sequentially executes methods in NXOpen, then runs a *.macro file, and when its work is finished, it needs to continue with the NXOpen code. The problem is that I can't correctly pause the program and wait for the *.macro to complete. The only solution so far has been a 'train' of files that trigger each other's execution at the end of their work. Do you have a working solution, maybe using Async Await? I have not had success with this.