It seems that the problem has not been completely resolved just now

pull/55/head
yomunsam 2020-03-07 20:10:59 +08:00
parent b06f10f974
commit 9d5a4a9f5a
1 changed files with 10 additions and 6 deletions

View File

@ -792,16 +792,20 @@ namespace UniRx.Async
public void UnsafeOnCompleted(Action continuation) public void UnsafeOnCompleted(Action continuation)
{ {
if(asyncOperation != null && asyncOperation.isDone)
Error.ThrowWhenContinuationIsAlreadyRegistered(continuationAction);
continuationAction = continuation.AsFuncOfT<AsyncOperation>();
lock (asyncOperation)
{
if (asyncOperation.isDone)
{ {
continuation?.Invoke(); continuation?.Invoke();
return; return;
} }
Error.ThrowWhenContinuationIsAlreadyRegistered(continuationAction);
continuationAction = continuation.AsFuncOfT<AsyncOperation>();
asyncOperation.completed += continuationAction; asyncOperation.completed += continuationAction;
} }
} }
}
class UnityWebRequestAsyncOperationConfiguredAwaiter : IAwaiter<UnityWebRequest>, IPlayerLoopItem class UnityWebRequestAsyncOperationConfiguredAwaiter : IAwaiter<UnityWebRequest>, IPlayerLoopItem
{ {