Coroutines

Coroutines are a feature introduced in C++20 that allow a function to be temporarily suspended, pending the completion of an asynchronous operation.

At the time of writing, Panda3D does not yet integrate support for the C++20 coroutine feature into the library. If you are feeling adventurous, see this forum thread for a way to use C++20 coroutines with the Panda3D task system:

https://discourse.panda3d.org/t/using-c-20-coroutines-with-panda3d/27323

Awaitables

Panda3D provides the AsyncFuture class to represent an operation that is currently underway. Any operation that returns this class is considered an asynchronous operation.

Experimental feature

As of Panda3D 1.10, this is still an experimental feature, and some behavior may change in future versions. The upcoming version of Panda3D, 1.11, will improve support for cancellation of futures in particular.