Size: a a a

Programming Offtop

2020 August 15

ML

Mikhail Levchenko in Programming Offtop
(
Ну, корутины на нормальные типы из-за модификатора так себе ложатся, мы это уже проходили
Кста, а вот в c# async функции кодируются типом Task, насколько я помню
источник

(

( in Programming Offtop
Mikhail Levchenko
Кста, а вот в c# async функции кодируются типом Task, насколько я помню
а там для асинка есть отдельные модификаторы?
источник

BP

Bogdan Panchenko in Programming Offtop
Andrew Mikhaylov
Так вроде ж починить собирались, не?
В 1.4
источник

BP

Bogdan Panchenko in Programming Offtop
(
Ловушка Ильмира
В 1.4 фикс
источник

BP

Bogdan Panchenko in Programming Offtop
А это именно про ворнинг
источник

ML

Mikhail Levchenko in Programming Offtop
Денис
последний вопрос по кастомным компонентам, подскажите если я добавляю компонент на экран, допустим как то так:
@Composable
fun render(state: ScreenState) {
   Column {
       Text(
           text = state.field
       )
       Component()
   }
}

@Composable
fun Component(){
   //...
}

где я должен запускать обработку его очереди сообщений? либо компонент нужно как то иным образом инициализировать?
Если стейт единый, то это просто часть стейта, который прилетит в верхнеуровневый композабл и он уже дернет твой UI
источник

AM

Andrew Mikhaylov in Programming Offtop
Mikhail Levchenko
Кста, а вот в c# async функции кодируются типом Task, насколько я помню
Всё так, и в итоге там by default вызовы корутин асинхронные, в котлине -- последовательные.
источник

AS

Andrei Shikov in Programming Offtop
Andrei Shikov
onCommit посмотри, там можно заинитить
В общем в компоузе лучше прокидывать стейт, как параметр, там слегка другая идеология
источник

ML

Mikhail Levchenko in Programming Offtop
(
а там для асинка есть отдельные модификаторы?
Да, async await, как обычно
источник

AM

Andrew Mikhaylov in Programming Offtop
То есть в сисетке последовательные вызовы надо делать явно эвэйтами, в котлине -- асинхронные вызовы надо делать явно лончами. Что на мой взгляд круто.
источник

Д

Денис in Programming Offtop
Mikhail Levchenko
Если стейт единый, то это просто часть стейта, который прилетит в верхнеуровневый композабл и он уже дернет твой UI
ну уже все де как определили что компонент может быть замкнутой системой, что можно ему свою очередь месседжей обрабатывать...
источник

ML

Mikhail Levchenko in Programming Offtop
Денис
ну уже все де как определили что компонент может быть замкнутой системой, что можно ему свою очередь месседжей обрабатывать...
Тогда тебе приходится думать о DI, о том когда включать и выключать компонент, как его диспоузить и т.д.

Просто лишний раз напоминаю почему я топлю за единый стейт
источник

AI

Arkadii Ivanov in Programming Offtop
Денис
а не перебор под один компонент целый фрагмент выделять?
Так от конкретного случая зависит. Если это кнопка с логикой (как отдельная фича), то я бы положил в отдельный модуль и сделал фрагментом. Но чаще всего компоненты более крупные.
источник

Д

Денис in Programming Offtop
Arkadii Ivanov
Так от конкретного случая зависит. Если это кнопка с логикой (как отдельная фича), то я бы положил в отдельный модуль и сделал фрагментом. Но чаще всего компоненты более крупные.
а как вообще в compose фрагменты используются?
источник

(

( in Programming Offtop
Mikhail Levchenko
Да, async await, как обычно
ну так-то и в котлине Deferred есть
источник

AM

Andrew Mikhaylov in Programming Offtop
(
ну так-то и в котлине Deferred есть
Ну так в котлине ты его явно лончем получаешь, а в сишарпе обычный вызов асинк-функции возвращает таск.
источник

AM

Andrew Mikhaylov in Programming Offtop
Хочешь последовательное выполнение -- дёргай на полученном таске эвэйт.
источник

BP

Bogdan Panchenko in Programming Offtop
Mikhail Levchenko
Кста, а вот в c# async функции кодируются типом Task, насколько я помню
Да но для разворачивания таких типов есть кейворды 🌚
источник

(

( in Programming Offtop
Andrew Mikhaylov
Ну так в котлине ты его явно лончем получаешь, а в сишарпе обычный вызов асинк-функции возвращает таск.
так, чего?
async T heh()

вернет Task<T>?
источник

BP

Bogdan Panchenko in Programming Offtop
Хотя это обычные функции
источник