public async Task Initialize() { if (!_isInitialized) { await _semaphore.WaitAsync(); if (!_isInitialized) { var episodes = await _localStorage.GetItem <EpisodeInfo[]>(ListenLaterKey); _episodes = episodes?.ToList() ?? new List <EpisodeInfo>(); _isInitialized = true; } _semaphore.Release(); } }
public async Task Initialize() { if (!_isInitialized) { await _semaphore.WaitAsync(); if (!_isInitialized) { var subscriptions = await _localStorage.GetItem <ShowInfo[]>(ShowSubscriptionsKey); _shows = subscriptions?.ToList() ?? new List <ShowInfo>(); _isInitialized = true; } _semaphore.Release(); } }