Size: a a a

Kotlin Community

2019 December 12

QH

Quantum Harmonizer in Kotlin Community
это уже поздновато вносить в язык)
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
это уже поздновато вносить в язык)
Не поздновато. Висит issue про автогенерацию компаньенов по требованию. Вполне реально
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Не поздновато. Висит issue про автогенерацию компаньенов по требованию. Вполне реально
«по требованию» можно написать себе просто companion object : EnumCompanion(values())
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
«по требованию» можно написать себе просто companion object : EnumCompanion(values())
в смысле к существующим классам
источник

М

Михаил in Kotlin Community
кто как делал поллинг на корутинах?
источник

М

Михаил in Kotlin Community
flow { 
   while (true) {
       emit(loadData())
       delay(10000L)
    }
}

как-то странно смотрится для меня, это норм?
источник

AT

Alexey Tkachenko in Kotlin Community
Михаил
flow { 
   while (true) {
       emit(loadData())
       delay(10000L)
    }
}

как-то странно смотрится для меня, это норм?
Я делал подобное на tailrec функциях
источник

М

Михаил in Kotlin Community
Alexey Tkachenko
Я делал подобное на tailrec функциях
можно семпл?)
источник

AT

Alexey Tkachenko in Kotlin Community
Та же фигня, по сути, зато красиво
источник

М

Михаил in Kotlin Community
Alexey Tkachenko
Та же фигня, по сути, зато красиво
можно конечн и рекурсией) но пока диковато смотрится после мира колбэков и реактивщины
источник

AT

Alexey Tkachenko in Kotlin Community
Что-то типа такого:
tailrec fun waitForSubscription(sessionId: String, iterationNo: Int = 0): Boolean {
   if (iterationNo > 6000) {
       return false
   }
   runBlocking { delay(100) }
   return waitForSubscription(sessionId, iterationNo + 1)
}
источник

SB

Sergey Barmin in Kotlin Community
Alexey Tkachenko
Что-то типа такого:
tailrec fun waitForSubscription(sessionId: String, iterationNo: Int = 0): Boolean {
   if (iterationNo > 6000) {
       return false
   }
   runBlocking { delay(100) }
   return waitForSubscription(sessionId, iterationNo + 1)
}
спасибо, интересно выглядит
источник

VT

Vsevolod Tolstopyatov in Kotlin Community
runBlocking { delay(100) }  это Thread.sleep(100) :)
источник

(

( in Kotlin Community
источник

SB

Sergey Barmin in Kotlin Community
все думал как красиво примерно такую же историю написать
источник

AT

Alexey Tkachenko in Kotlin Community
Vsevolod Tolstopyatov
runBlocking { delay(100) }  это Thread.sleep(100) :)
ага
источник

AT

Alexey Tkachenko in Kotlin Community
можно убрать runBlocking и сделать функцию suspend
источник

VB

Viacheslav Blinov in Kotlin Community
Михаил
flow { 
   while (true) {
       emit(loadData())
       delay(10000L)
    }
}

как-то странно смотрится для меня, это норм?
while(isActive) лучше)))
источник

М

Михаил in Kotlin Community
Viacheslav Blinov
while(isActive) лучше)))
из этой функции нет доступа к корутин контексту
источник

М

Михаил in Kotlin Community
да и саспенд функции здесь на каждом шагу
источник