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,14 +792,18 @@ namespace UniRx.Async
public void UnsafeOnCompleted(Action continuation) public void UnsafeOnCompleted(Action continuation)
{ {
if(asyncOperation != null && asyncOperation.isDone)
{
continuation?.Invoke();
return;
}
Error.ThrowWhenContinuationIsAlreadyRegistered(continuationAction); Error.ThrowWhenContinuationIsAlreadyRegistered(continuationAction);
continuationAction = continuation.AsFuncOfT<AsyncOperation>(); continuationAction = continuation.AsFuncOfT<AsyncOperation>();
asyncOperation.completed += continuationAction; lock (asyncOperation)
{
if (asyncOperation.isDone)
{
continuation?.Invoke();
return;
}
asyncOperation.completed += continuationAction;
}
} }
} }