ждать без FromCurrentSynchronizationContext? - PullRequest
0 голосов
/ 17 марта 2020

Как я знаю, использование async/await эквивалентно Task.Run с TaskScheduler.FromCurrentSynchronizationContext(). Но я столкнулся с смущением, когда попробовал это (среда Xamarin.Forms):

Action ReFocus = async () =>
{
    // not work well as next somehow
    adresseeEntry.Unfocus();
    await Task.Run(() => {});
    adresseeEntry.Focus();
};
ReFocus();

Это не работает как следующий код:

Action ReFocus = () =>
{
    adresseeEntry.Unfocus();
    Task.Factory.StartNew<bool>(() => true).ContinueWith(r =>
    {
        adresseeEntry.Focus();
    }, TaskScheduler.FromCurrentSynchronizationContext());//*/
};
ReFocus();

Возможно, фокусировка на элементе не очень хороший пример. Но это реальная ситуация, с которой я столкнулся на практике (в первом случае фокус не происходит по какой-то причине).

...