2013-04-28 2 views
0

Я установил предварительные биты BCL ASync в моем WP7 приложение, и я добавил вызов асинхронной к задаче асинхронном так:WP7.5 BCL Асинхронный: ждут не дожидаясь

await GetStuff(); 
// do stuff 

где GetStuff это асинхронная задача.

Однако, похоже, это не «ожидает», а скорее сразу переходит к следующей строке кода, поэтому материал, на котором он должен действовать, еще не существует, потому что задача async не завершена.

Я не понимаю, как работает эта библиотека? Я понимаю, что он добавляет ожидаемую функциональность, похожую на WinRT или WP8, так что она будет ждать завершения этой задачи async до продолжения выполнения.

Если это то, что он должен делать, что я могу делать неправильно здесь?

+1

'GetStuff()', вероятно, ошибочен. – SLaks

+1

1) ['Microsoft.Bcl.Async'] (http://nuget.org/packages/Microsoft.Bcl.Async/) больше не является предварительным; пожалуйста, обновите. 2) WP7 не является поддерживаемой платформой; возможно, вы имели в виду WP7.5? 3) @SLaks, вероятно, прав; пожалуйста, напишите код для 'GetStuff' и опишите, что вы для него сделали. –

+0

я имел в виду 7,5 извините, обновит сообщение. Я тоже обновлю и посмотрю, если он будет решен иначе, отчитайтесь, спасибо за советы! – SelAromDotNet

ответ

1

Это произойдет, если задача, возвращаемая GetStuff(), не ждет, пока все закончится (например, если вы забыли await).

Смежные вопросы