.Wait()
блокирует задание до его завершения.
Первый пример действительно работает, то есть извлекает www.google.com и с .Wait()
не позволит обработчику события вернуться, пока эта страница не будет загружена.
Во втором примере просто вызывается Debug.WriteLine
, то есть вызов, который немедленно возвращается, позволяя завершить задачу немедленно, поэтому вы никогда не замечали, что .Wait()
блокирует обработчик события.
Скорее всего, вы захотите использовать .ContinueWith()
вместо .Wait()
для доступа к результату асинхронной загрузки. Таким образом, обработчик событий немедленно возвращается, и вы можете поместить код в блок .ContinueWith()
, чтобы что-то делать с загруженными данными.