Size: a a a

Kotlin Community

2020 February 03

QQ

Qqq Qqq in Kotlin Community
Если кроме onAwait ничего нет
источник

K

Kopusha in Kotlin Community
не, чет фигню показывает
repeat(list.size) {
       val str = select<String> {
           list.forEach { deferred -> deferred.onAwait { it } }
       }
   println(str)
}
только пару первых значений печатает
источник

DV

Deep Velocity 🐳 in Kotlin Community
Коллеги, кому-нибудь удавалось успешно настроить тимсити с Котлин жс?
источник

AN

Alexander Nozik in Kotlin Community
Kopusha
да, результат. Ну вот я думал флоу и в его генераторе будет async. Надо запустить все сразу и эмитить по мере успешности выполнения
Вот тут как раз канал. Запомните, если данные пихаете, то канал, если вытягиваете, то Flow
источник

AN

Alexander Nozik in Kotlin Community
Boris Vanin
Если запустить кучу асинков, то получать по мере выполнения можно select-ом
В данном случае не надо никаких селектов
источник

AN

Alexander Nozik in Kotlin Community
Boris Vanin
Тогда получается, что канал не решает никакой проблемы 🤷‍♂
Канал решает проблему синхронизации и упорядоченного вывода
источник

AO

Alexey Otts in Kotlin Community
Vladimir
Условие выхода - list.notEmpty, в onAwait - отправлять в канал и удалять из списка.
Или бред какой то?
try вам в помощь и какой нибудь Either или свой тип данных
источник

V

Vladimir in Kotlin Community
Alexey Otts
try вам в помощь и какой нибудь Either или свой тип данных
Эм?
источник

K

Kopusha in Kotlin Community
Alexander Nozik
Вот тут как раз канал. Запомните, если данные пихаете, то канал, если вытягиваете, то Flow
Ну, вопрос философский) Когда начинал, со стороны очень казалось, что вытягиваю. Например, обычный GET для одной картинки - вытягивание? А тут вытягивание списка картинок. Инициатор - пользователь, со стороны все выглядит холодным, это ж не сенсор какой-то.
источник

AO

Alexey Otts in Kotlin Community
Народ, а какие вообще гарантии на suspend'ах и try finally?
try {
 foo() //suspension
} finally {
 bar()
}


Есть ли кейсы, когда bar не вызовется?
источник

V

Vladimir in Kotlin Community
Kopusha
Ну, вопрос философский) Когда начинал, со стороны очень казалось, что вытягиваю. Например, обычный GET для одной картинки - вытягивание? А тут вытягивание списка картинок. Инициатор - пользователь, со стороны все выглядит холодным, это ж не сенсор какой-то.
Я правильно понял, все свелось к тому, что нужно просто на каждую ссылку запускать корутину и по готовности кидать картинку в канал? (на примере со списком ссылок на картинки)
источник

K

Kopusha in Kotlin Community
да вернуть флоу, например, который будет отдавать их по мере поступления.(или, если без флоу, то хоть массив результатов, отсортированый по очередности результатов, но без хаков типа таймстемпа или айдишников).
источник

D

Dmitry in Kotlin Community
Кто-нибудь научился добавлять сорцы котлина в аар? https://discuss.kotlinlang.org/t/how-to-attach-the-kotlin-library-sources/128/8
источник

V

Vladimir in Kotlin Community
Kopusha
да вернуть флоу, например, который будет отдавать их по мере поступления.(или, если без флоу, то хоть массив результатов, отсортированый по очередности результатов, но без хаков типа таймстемпа или айдишников).
Эм...а как флоу их будет отдавать по мере поступления?
источник

K

Kopusha in Kotlin Community
а что не так?

getImages(urls: List<String>):Flow<Image>
источник

V

Vladimir in Kotlin Community
Kopusha
а что не так?

getImages(urls: List<String>):Flow<Image>
Не, я про сам эмит.
Как эмитить в порядке загрузки, а не итерации?
источник

K

Kopusha in Kotlin Community
пока что похоже я возвращаюсь к ссылке, которую нашёл в самом начале - параллельный флоу, которого ещё нет: https://github.com/Kotlin/kotlinx.coroutines/issues/1147
источник

K

Kopusha in Kotlin Community
и там чувак что-то нагородил, скрестив флоу с каналом
источник

AO

Alexey Otts in Kotlin Community
Alexey Otts
Народ, а какие вообще гарантии на suspend'ах и try finally?
try {
 foo() //suspension
} finally {
 bar()
}


Есть ли кейсы, когда bar не вызовется?
@noraltavir @fogone
Может вы в курсах
источник

K

Kopusha in Kotlin Community
Vladimir
Не, я про сам эмит.
Как эмитить в порядке загрузки, а не итерации?
вот именно, как!? 😄
источник