Struct AsyncOperationHandle<TObject>
Handle for internal operations. This allows for reference counting and checking for valid references.
Syntax
public struct AsyncOperationHandle<TObject> : IEnumerator, IEquatable<AsyncOperationHandle<TObject>>
Type Parameters
Name |
Description |
TObject |
The object type of the underlying operation.
|
Properties
DebugName
Debug name of the operation.
Declaration
public string DebugName { get; }
Property Value
IsDone
True if the operation is complete.
Declaration
public bool IsDone { get; }
Property Value
OperationException
The exception for a failed operation. This will be null unless Status is failed.
Declaration
public Exception OperationException { get; }
Property Value
PercentComplete
The progress of the internal operation.
Declaration
public float PercentComplete { get; }
Property Value
Result
The result object of the operations.
Declaration
public TObject Result { get; }
Property Value
Status
The status of the internal operation.
Declaration
public AsyncOperationStatus Status { get; }
Property Value
Task
Return a Task object to wait on when using async await.
Declaration
public Task<TObject> Task { get; }
Property Value
Type |
Description |
Task<TObject> |
|
Methods
Equals(AsyncOperationHandle<TObject>)
Provide equality for this struct.
Declaration
public bool Equals(AsyncOperationHandle<TObject> other)
Parameters
Returns
Implements
GetHashCode()
Get hash code of this struct.
Declaration
public override int GetHashCode()
Returns
Overrides
IsValid()
Check if the handle references an internal operation.
Declaration
Returns
Type |
Description |
Boolean |
True if valid.
|
Events
Completed
Completion event for the internal operation. If this is assigned on a completed operation, the callback is deferred until the LateUpdate of the current frame.
Declaration
public event Action<AsyncOperationHandle<TObject>> Completed
Event Type
CompletedTypeless
Completion event for non-typed callback handlers. If this is assigned on a completed operation, the callback is deferred until the LateUpdate of the current frame.
Declaration
public event Action<AsyncOperationHandle> CompletedTypeless
Event Type
Destroyed
Event for handling the destruction of the operation.
Declaration
public event Action<AsyncOperationHandle> Destroyed
Event Type
Operators
Implicit(AsyncOperationHandle<TObject> to AsyncOperationHandle)
Declaration
public static implicit operator AsyncOperationHandle(AsyncOperationHandle<TObject> obj)
Parameters
Returns
Explicit Interface Implementations
IEnumerator.Current
Declaration
object IEnumerator.Current { get; }
Returns
Implements
IEnumerator.MoveNext()
Declaration
bool IEnumerator.MoveNext()
Returns
Implements
IEnumerator.Reset()
Declaration
Implements
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.