I noticed that Elm/Random has no way to generate a random value as a Task. I’m not sure if this is intended.
Currently, I am trying to build a chat with Jsonstore at the backend.
If I now want to create a new chatroom, I need to first generate a number and then create the room.
createRoom : Task Error (Maybe Room) createRoom = Random.generateTask Random.int 0 Random.maxInt |> Task.andThen insertNewRoom
Instead, I need to split it up into two messages: one for the Random value and one for everything else.
update : Msg -> Model -> (Model,Cmd Msg) update msg model = case msg of PressedNewRoomButton -> ( model , Random.generate Random.int 0 Random.maxInt ) GeneratedRoomId int -> ( model , insertNewRoom int |> Task.attempt Sync )
Alternatively I could store a seed in the model, but as this is the only time I use a Random value, I would like to avoid it.