Xamarin Android: чтение файла локального хранилища (PCLStorage) с синхронизацией - PullRequest
0 голосов
/ 25 мая 2018

Я могу прочитать файл локального хранилища с помощью следующего кода:

public static async Task<string> GetUserName()
        {
            string value = String.Empty;
            IFolder rootFolder = FileSystem.Current.LocalStorage;

            // Read file
            ExistenceCheckResult exist = await rootFolder.CheckExistsAsync(FILE_NAME);
            if (exist == ExistenceCheckResult.FileExists)
            {
                IFile file = await rootFolder.GetFileAsync("myusername.txt");
                value = await file.ReadAllTextAsync();                
            }

            return value;
        }

Я вызываю эту функцию, как показано ниже:

Line1: Task<String> userName = GetUserName();
Line2: // Doing some task.

Здесь, перед выполнением строки 2, мне нужно имя пользователя из строки 1.Но из-за асинхронной операции Line2 начинает выполняться без получения userName из Line1.

Так как я могу выполнить Line2 после получения userName в Line1?

1 Ответ

0 голосов
/ 25 мая 2018

Вам нужно дождаться вызова метода GetUsername (), например,

string userName = await GetUsername();
//Line2

Таким образом, он будет ждать имени пользователя, прежде чем будет выполнена строка 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...