2020-05-05 21:05:32 +09:00
|
|
|
|
using Cysharp.Threading.Tasks;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
|
|
namespace NetCoreSandbox
|
|
|
|
|
|
{
|
|
|
|
|
|
class Program
|
|
|
|
|
|
{
|
|
|
|
|
|
static async Task Main(string[] args)
|
|
|
|
|
|
{
|
|
|
|
|
|
Console.WriteLine("Foo");
|
2020-05-05 21:34:11 +09:00
|
|
|
|
var v = await outer().AsTask();
|
2020-05-05 21:05:32 +09:00
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("Bar:" + v);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-05-05 21:34:11 +09:00
|
|
|
|
static async UniTask<int> outer()
|
|
|
|
|
|
{
|
2020-05-07 11:27:27 +09:00
|
|
|
|
//await Task.WhenAll();
|
|
|
|
|
|
|
|
|
|
|
|
//var foo = await Task.WhenAny(Array.Empty<Task<int>>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await UniTask.WhenAny(new UniTask[0]);
|
|
|
|
|
|
|
|
|
|
|
|
return 10;
|
|
|
|
|
|
//var v = await DoAsync();
|
|
|
|
|
|
//return v;
|
2020-05-05 21:34:11 +09:00
|
|
|
|
}
|
|
|
|
|
|
|
2020-05-05 21:05:32 +09:00
|
|
|
|
|
|
|
|
|
|
static async UniTask<int> DoAsync()
|
|
|
|
|
|
{
|
|
|
|
|
|
var tcs = new UniTaskCompletionSource<int>();
|
|
|
|
|
|
|
|
|
|
|
|
tcs.TrySetResult(100);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var v = await tcs.Task;
|
|
|
|
|
|
|
|
|
|
|
|
return v;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|