Use TaskCompletionSource in a better manner

This commit is contained in:
Dean Herbert
2019-05-23 19:08:44 +09:00
parent acaf2f9fbb
commit e034b3d514
2 changed files with 6 additions and 11 deletions

View File

@ -168,12 +168,10 @@ namespace osu.Game.Overlays
if (initialFetchTask != null)
return initialFetchTask;
var tcs = new TaskCompletionSource<bool>();
initialFetchTask = tcs.Task;
Task.Run(() =>
return initialFetchTask = Task.Run(async () =>
{
var tcs = new TaskCompletionSource<bool>();
var req = new GetChangelogRequest();
req.Success += res =>
{
@ -190,9 +188,9 @@ namespace osu.Game.Overlays
};
req.Failure += _ => initialFetchTask = null;
req.Perform(API);
});
return initialFetchTask;
await tcs.Task;
});
}
private CancellationTokenSource loadContentTask;