Получить viewModelScope из Hilt

Мой класс

 class UserDataSource @Inject constructor(private val listService: ListService, private val scope: CoroutineScope): PageKeyedDataSource<Int, News>()

Мне нужно получить viewModelScope из ViewModel, Но всегда ошибка, как вытянуть что-то из ViewModel


Ответы (1 шт):

Автор решения: Shams

Скорее всего у вас UserDataSource singleton или живёт дольше чем viewmodel, поэтому вам не следует вытянуть что-то из viewmodel. Так как в любое время viewmodel может умереть. У вас вылетит nullPointerException eсли вы будете обратиться к методу viewmodel после его смерти. Вместо viewmodel используйте repository, так как repo singleton(по идее). Кроме того viewmodel все равно использует repo чтобы загрузить данные, так что вам мешает использовать repo вместо viewmodel?

→ Ссылка