You will almost never want to call wait when you have async methods.
Here is an example how deadlock can happen
- async method called
- async method enters wait and main thread runs something else
- main thread executes a method calling wait()
- wait is waiting for async to finish
- async is waiting for main thread to become free
- DEAD LOCK
so if it is possible, change the method where you are calling .wait() on to be async and call await on it