Flow, который по каждому вызову collect будет инициализировать получение данных из интернета и выдачу этих данных в коллектор. Нюанс в том, что flow мне не подходит, потому что там есть требование вызова emit в том же диспетчере, channelFlow почему-то не завершается. При этом обычное создание объекта с имплементацией Flow работает как нужно, но приходится навешивать InternalCoroutinesApi (плюс, всё в будущем может поломаться, исходя из описания InternalCoroutinesApi). Вопрос в том, как мне реализовать нужную штуку в рамках Flow, но без необходимости плясок вокруг определённых скоупов, аннотаций и прочего?
думаю надо разобраться, почему не завершается channelFlow можешь показать пример кода с channelFlow?
вспомнил, с канальным флоу у меня не билдится
но если не подойдёт, то можно попробовать унаследовать AbstractFlow, там нет Internal аннотации она по сути нужна, потому что Flow не проверяет, что контекст не меняется на каждом emit в AbstractFlow по сути только и есть, что проверка, что каждый emit происходит с одного контекста
мне нужно из разных
emit - должен быть всего из одного, это контракт flow даже если делается через канал, emit всё равно там происходит из одного
Обсуждают сегодня