Size: a a a

Kotlin Community

2020 May 07

Y

Yanis in Kotlin Community
Павло Гриник
А для чего вам так делать?
ну вот например у меня есть функция init() в которой я хочу подписаться на два разных flow и слушать их
источник

ПГ

Павло Гриник... in Kotlin Community
Yanis
ну вот например у меня есть функция init() в которой я хочу подписаться на два разных flow и слушать их
Я так понимаю, слушать хотите паралельно, а ф-ция init() suspend?
источник

Y

Yanis in Kotlin Community
все верно
источник

Y

Yanis in Kotlin Community
это самый частый кейс который я встречал
источник

ПГ

Павло Гриник... in Kotlin Community
Ну тогда coroutineScope {} вроде как идеально подходит
источник

ПГ

Павло Гриник... in Kotlin Community
У меня тоже есть такие места
источник

ПГ

Павло Гриник... in Kotlin Community
suspend fun init() = coroutineScope {
 launch {
   flow1.collect
 }
 launch {
   flow2.collect
 }
}
источник

Y

Yanis in Kotlin Community
у меня вроде как не работает, проверю еще раз
источник

Y

Yanis in Kotlin Community
у меня после init() виснет, видимо ждет завершения
источник

A

Aleksandr in Kotlin Community
Посоветуйте либу для работы с json.
источник

AM

Andrew Mikhaylov in Kotlin Community
Yanis
у меня после init() виснет, видимо ждет завершения
Всё так, coroutineScope { ... } ждёт завершения. Только передавать скоуп ручками в саспенд-функцию. Либо всё же не мешать консёрны и выделить подписки в отдельную функцию-экстеншн на скоупе.
источник

AM

Andrew Mikhaylov in Kotlin Community
Aleksandr
Посоветуйте либу для работы с json.
Jackson, Moshi, kotlinx.serialization -- выбирайте.
источник

AM

Andrew Mikhaylov in Kotlin Community
Я упорот, fixed, спасибо
источник

A

Aleksandr in Kotlin Community
Andrew Mikhaylov
Jackson, Moshi, kotlinx.serialization -- выбирайте.
А есть сравнительный анализ?
источник

A

Aleksandr in Kotlin Community
Я работал с Gson на Java, но вот для работы с Kotlin он немного не готов.
источник

AM

Andrew Mikhaylov in Kotlin Community
Aleksandr
А есть сравнительный анализ?
Где-то должен быть, можете поискать. А у вас в парсинге JSON бутылочное горлышко в приложении?
источник

AM

Andrew Mikhaylov in Kotlin Community
Aleksandr
Я работал с Gson на Java, но вот для работы с Kotlin он немного не готов.
Всё так, и Kotson не спасает, увы.
Но я вам тут не помощник, я с Gson в коммерции продолжаю жить :)
источник

A

Aleksandr in Kotlin Community
Andrew Mikhaylov
Где-то должен быть, можете поискать. А у вас в парсинге JSON бутылочное горлышко в приложении?
Нет. Хочется поменьше плясок, побольше функционала и скорость не помешала бы.
источник

АО

Алексей Овсянников... in Kotlin Community
Ну в среднем в котлиновской сериализации приемлемая скорость, имхо
источник

АО

Алексей Овсянников... in Kotlin Community
Цифр не назову, но не встречался еще с тем, чтобы оно как-то где-то тормозило
источник