Size: a a a

Elm Lang сообщество разработчиков

2018 November 23

AK

Anton Komissarov in Elm Lang сообщество разработчиков
я бы пошёл через Time.every
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
в сабскрипшенах следим за этим полем в моделе
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
и полностью его контролируем
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
а, хм, ок, суть понял, спасибо большое!
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
обращайтесь)
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
Anton Kotenko
а, хм, ок, суть понял, спасибо большое!
на всякий случай покажу как модель и сабскрипшены выглядеть должны, так как это для многих не очевидный подход. Вот пример с псведо кодом
type alias Model =
   { tickTak : Sub
   , someList : List A
   }


initialModel : Model
initialModel =
   { tickTak = Sub.none
   , someList = []
   }


type Msg
   = Tick
   | Response (List a)
   
subscriptions : Model -> Sub Msg
subscriptions model =
 model.tickTak


   


update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
   case msg of
       Tick _ ->
           let
               newSubscription =
                   if List.isEmpty model.someList
                   then Sub.none
                   else model.tickTak
           in
           { model | someList = someLogicThatRemovesSendedElementsFromTheListFunction,  tickTak = newSubscription }

       Response a->
           { model | tickTak = Time.every 1000 Tick, someList = a }
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
должно сработать
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
команду забыл в Тике, но я думаю мысль понятна
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Anton Komissarov
на всякий случай покажу как модель и сабскрипшены выглядеть должны, так как это для многих не очевидный подход. Вот пример с псведо кодом
type alias Model =
   { tickTak : Sub
   , someList : List A
   }


initialModel : Model
initialModel =
   { tickTak = Sub.none
   , someList = []
   }


type Msg
   = Tick
   | Response (List a)
   
subscriptions : Model -> Sub Msg
subscriptions model =
 model.tickTak


   


update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
   case msg of
       Tick _ ->
           let
               newSubscription =
                   if List.isEmpty model.someList
                   then Sub.none
                   else model.tickTak
           in
           { model | someList = someLogicThatRemovesSendedElementsFromTheListFunction,  tickTak = newSubscription }

       Response a->
           { model | tickTak = Time.every 1000 Tick, someList = a }
просто замечательно, благодарю!
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
Anton Kotenko
просто замечательно, благодарю!
если скорость отправления важна, то первую отправку порта можно делать уже в Респонсе, тогда не надо ждать лишнию секунду
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
ну ладн, меня уже понесло)
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
удачи)
источник
2018 November 24

AK

Anton Komissarov in Elm Lang сообщество разработчиков
Народ то потихоньку набирается, пора начинать опросы проводить =). Например статистику кто из ру комьюнити использует элм в продакшене. Кто планирует и т.д
источник
2018 November 29

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Обнаружил, что, два подряд onClick не работают, типа:

div 
   [ H.onClick fooFunc
   , H.onClick barFunc
   ]
   [ ]


В таком виде ни одна не выполняется, что можно с этим сделать?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Если любую из них отключить, то оставшаяся работает
источник

e

eahqzsr in Elm Lang сообщество разработчиков
Anton Kotenko
Обнаружил, что, два подряд onClick не работают, типа:

div 
   [ H.onClick fooFunc
   , H.onClick barFunc
   ]
   [ ]


В таком виде ни одна не выполняется, что можно с этим сделать?
Не писать так?
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
Anton Kotenko
Обнаружил, что, два подряд onClick не работают, типа:

div 
   [ H.onClick fooFunc
   , H.onClick barFunc
   ]
   [ ]


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

AK

Anton Kotenko in Elm Lang сообщество разработчиков
да, так похоже и сделаю
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
eahqzsr
Не писать так?
Компилятор разрешил
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
я предполагаю что fooFunc/barFunc возвращают по месседжу со своим пейлодам(payload)
источник