1e41f4b71Sopenharmony_ci# LoopObserver 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe LoopObserver module defines an observer to listen for event processing timeout. It can be used as an input parameter in [ErrorManager.on](./js-apis-app-ability-errorManager.md#errormanageronerror) to listen for the event processing time of the current application's main thread. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **NOTE** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## Modules to Import 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci```ts 12e41f4b71Sopenharmony_ciimport { errorManager } from '@kit.AbilityKit'; 13e41f4b71Sopenharmony_ci``` 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## LoopObserver.onLoopTimeOut 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_cionLoopTimeOut?(timeout: number): void 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciCalled when a timeout occurs for the main thread to process an event in the JS runtime. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Ability.AbilityRuntime.Core 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**Parameters** 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 28e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 29e41f4b71Sopenharmony_ci| timeout | number | Yes| Actual execution time of the main thread.| 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**Example** 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci```ts 34e41f4b71Sopenharmony_ciimport { errorManager } from '@kit.AbilityKit'; 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_cilet observer: errorManager.LoopObserver = { 37e41f4b71Sopenharmony_ci onLoopTimeOut(timeout: number) { 38e41f4b71Sopenharmony_ci console.log('Duration timeout: ' + timeout); 39e41f4b71Sopenharmony_ci } 40e41f4b71Sopenharmony_ci}; 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_cierrorManager.on("loopObserver", 1, observer); 43e41f4b71Sopenharmony_ci``` 44