Synchronize Multiple Event/Thread in Blueprint

If, inside the PlayerController blueprint, I make a for-loop node and inside the loop-body I fire (call) a certain event (that event is implemented in a separate blueprint, derived from Actor), then after the for-loop finish execution, I want to proceed execution only if all activity within all of those events finish executing, how do I do it?

In Win32 c++ programming term, it’s like using WaitForMultipleObjects function, to wait for multiple threads to finish, before proceeding with the current process. Can similar functionality be achieved in blueprint?

Now i doubt this will work, but I thought i should mention it because it might work
If you did two gates in a line, i.e.


My reasoning would be that even if the ForLoop connected to the second gate fired, it wouldn’t be able to continue until the ForLoop connected to Open on the first gate fired.
It might work, yet I have no idea if it will.