# AttributeError: 'com.inductiveautomation.ignition.common.script.Imm' object has no attribute 'invokeLater'

**URL:** <https://forum.inductiveautomation.com/t/attributeerror-com-inductiveautomation-ignition-common-script-imm-object-has-no-attribute-invokelater/41151>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [December 2, 2020, 6:57pm UTC](https://forum.inductiveautomation.com/t/attributeerror-com-inductiveautomation-ignition-common-script-imm-object-has-no-attribute-invokelater/41151 "2020-12-02T18:57:47Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [December 2, 2020, 7:19pm UTC](https://forum.inductiveautomation.com/t/attributeerror-com-inductiveautomation-ignition-common-script-imm-object-has-no-attribute-invokelater/41151/6 "2020-12-02T19:19:49Z")

</div>

Bleh, I wish the training team hadn’t written those docs advocating the use of `invokeLater` as a convenient way to introduce a delay. That’s really not what it’s for.

Jython’s Timer seems fine, but it’s conceptually no different than just using `invokeAsync` and then sleeping as the first thing you do for the amount of delay you desire. Both end up using a dedicated Thread.

---

_[View the full topic](https://forum.inductiveautomation.com/t/attributeerror-com-inductiveautomation-ignition-common-script-imm-object-has-no-attribute-invokelater/41151)._
