diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.WhenEach.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.WhenEach.cs index 39acb340..a3f0923e 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.WhenEach.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.WhenEach.cs @@ -39,7 +39,7 @@ public WhenEachResult(T result) public WhenEachResult(Exception exception) { if (exception == null) throw new ArgumentNullException(nameof(exception)); - this.Result = default!; + this.Result = default; this.Exception = exception; } @@ -144,24 +144,24 @@ static void ConsumeAll(Enumerator self, UniTask[] array, int length) { RunWhenEachTask(self, array[i], length).Forget(); } + } - static async UniTaskVoid RunWhenEachTask(Enumerator self, UniTask task, int length) + static async UniTaskVoid RunWhenEachTask(Enumerator self, UniTask task, int length) + { + try { - try - { - var result = await task; - self.channel.Writer.TryWrite(new WhenEachResult(result)); - } - catch (Exception ex) - { - self.channel.Writer.TryWrite(new WhenEachResult(ex)); - } + var result = await task; + self.channel.Writer.TryWrite(new WhenEachResult(result)); + } + catch (Exception ex) + { + self.channel.Writer.TryWrite(new WhenEachResult(ex)); + } - if (Interlocked.Increment(ref self.completeCount) == length) - { - self.state = WhenEachState.Completed; - self.channel.Writer.TryComplete(); - } + if (Interlocked.Increment(ref self.completeCount) == length) + { + self.state = WhenEachState.Completed; + self.channel.Writer.TryComplete(); } } diff --git a/src/UniTask/Assets/Scenes/SandboxMain.cs b/src/UniTask/Assets/Scenes/SandboxMain.cs index ddd8e854..29a1c880 100644 --- a/src/UniTask/Assets/Scenes/SandboxMain.cs +++ b/src/UniTask/Assets/Scenes/SandboxMain.cs @@ -18,6 +18,7 @@ using UnityEngine.Rendering; using System.IO; using System.Linq.Expressions; +using UnityEngine.Events; @@ -172,13 +173,14 @@ async UniTask FooAsync() // var foo = InstantiateAsync(this).ToUniTask(); - + // var tako = await foo; - + //UnityAction action; + return 10; }