# Alternative for serviceAsync\<T\>()?

**URL:** <https://platform.jetbrains.com/t/alternative-for-serviceasync-t/658>\
**Category:** IntelliJ Platform\
**Tags:** coroutines\
**Created:** [February 21, 2025, 3:20pm UTC](https://platform.jetbrains.com/t/alternative-for-serviceasync-t/658 "2025-02-21T15:20:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jansorg](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/jansorg/32/52_2.png) [@jansorg](https://platform.jetbrains.com/u/jansorg)\
**Post date:** [February 21, 2025, 3:20pm UTC](https://platform.jetbrains.com/t/alternative-for-serviceasync-t/658/1 "2025-02-21T15:20:40Z")

</div>

2024.2+

I’m using coroutines a lot and started to use `serviceAsync<ServiceType>()` to fetch instances of service in a `suspend` context.

I now noticed that the method is `@Internal`.  
Is it safe to use `service<T>()` instead or is there a public alternative for `serviceAsync<T>()`?

Thank you!

---

<div class="post-metadata">

**Author:** ![yuriy.artamonov](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/yuriy.artamonov/32/48_2.png) [@yuriy.artamonov](https://platform.jetbrains.com/u/yuriy.artamonov)\
**Post date:** [February 23, 2025, 8:00pm UTC](https://platform.jetbrains.com/t/alternative-for-serviceasync-t/658/2 "2025-02-23T20:00:16Z")

</div>

Hi!

We will try to relax access level there soon. Although you must know that `serviceAsync` means very little for real performance outside of the IDE startup sequence.

---

<div class="post-metadata">

**Author:** ![jansorg](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/jansorg/32/52_2.png) [@jansorg](https://platform.jetbrains.com/u/jansorg)\
**Post date:** [February 24, 2025, 8:31am UTC](https://platform.jetbrains.com/t/alternative-for-serviceasync-t/658/3 "2025-02-24T08:31:47Z")

</div>

Thank you for your reply!

Is `service()` as non-suspending safe to use in a `suspend` context?  
I’m not concerned about performance, services are not retrieved very often in my plugin.

---

<div class="post-metadata">

**Author:** ![yuriy.artamonov](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/yuriy.artamonov/32/48_2.png) [@yuriy.artamonov](https://platform.jetbrains.com/u/yuriy.artamonov)\
**Post date:** [February 24, 2025, 9:13am UTC](https://platform.jetbrains.com/t/alternative-for-serviceasync-t/658/4 "2025-02-24T09:13:13Z")

</div>

It uses coroutines and cancellation inside anyway, should be safe. Also getting services without read action is something you should not usually do as any call may produce `AlreadyDisposedException`, since project / app may be disposed in parallel
