169 похожих чатов

Всем привет. Такой вопрос - у меня есть желание сделать

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

7 ответов

25 просмотров

думаю надо разобраться, почему не завершается channelFlow можешь показать пример кода с channelFlow?

Алексей-Овсянников Автор вопроса

вспомнил, с канальным флоу у меня не билдится

но если не подойдёт, то можно попробовать унаследовать AbstractFlow, там нет Internal аннотации она по сути нужна, потому что Flow не проверяет, что контекст не меняется на каждом emit в AbstractFlow по сути только и есть, что проверка, что каждый emit происходит с одного контекста

Алексей Овсянников
мне нужно из разных

emit - должен быть всего из одного, это контракт flow даже если делается через канал, emit всё равно там происходит из одного

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта