# Simple Example of Async working in a Perspective View Object

**URL:** <https://forum.inductiveautomation.com/t/simple-example-of-async-working-in-a-perspective-view-object/112038>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [November 7, 2025, 2:19pm UTC](https://forum.inductiveautomation.com/t/simple-example-of-async-working-in-a-perspective-view-object/112038 "2025-11-07T14:19:19Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 7, 2025, 3:49pm UTC](https://forum.inductiveautomation.com/t/simple-example-of-async-working-in-a-perspective-view-object/112038/8 "2025-11-07T15:49:20Z")

</div>

This post might be useful - `CompletableFuture` is a layer above the raw threading you can do using `invokeAsynchronous`. I would endorse the advice to run this in a timer script or something similar.

> [@Issues when using system.util.invokeAsynchronous() I get a 'NoneType' object is not callable error](https://forum.inductiveautomation.com/t/issues-when-using-system-util-invokeasynchronous-i-get-a-nonetype-object-is-not-callable-error/97022/11):
>
> It's a bit awkward, but here's a proof-of-concept of using Java's CompletableFuture API to automatically run multiple operations on an async thread pool (managed by Java in this case), wait for all those operations to complete, and then do some work with all their results on another async thread: from java.util.concurrent import CompletableFuture from java.util.function import Consumer, Supplier from functools import partial from time import sleep # Adapts a Python function to act as a Java "C…

---

_[View the full topic](https://forum.inductiveautomation.com/t/simple-example-of-async-working-in-a-perspective-view-object/112038)._
