Thank you. Tried to apply it but my problem is that I'm trying to send
initialize a request on init:
init : ( Model, Cmd Msg )
init =
( {
-- my model here
}
, getJson
)
And of course `getJson` is returning `A.Msg`, so even if in B I declare:
type Msg
= aMSG A.Msg
| SomeLocalMessage
I'm still getting an error that init was expecting `Main.Msg` but got
`A.Msg`.
Hope I make sense.
On Tuesday, November 15, 2016 at 7:40:50 AM UTC+1, Peter Damoc wrote:
>
> There used to be a "nesting" set of examples in The Elm Architecture but
> lately this approach has been discouraged.
>
> What you describe here is a kind of decomposition into components.
>
> It is recommended that you have one model and you decompose the
> functionality of update & view using regular functions.
>
> If you want to see how this used to be done, take a look at the old
> CounterPair example:
>
> https://github.com/pdamoc/elm-architecture-tutorial/blob/master/examples/2/CounterPair.elm
>
> Please note that this code is obsolete.
>
>
>
>
> On Mon, Nov 14, 2016 at 4:43 PM, Tim Bezhashvyly <[email protected]
> <javascript:>> wrote:
>
>> I just started digging into Elm so quite possible that my question has a
>> conceptual problem. Please let me know if so.
>>
>> I have a module A which is asynchronously reading data from JSON. Module
>> A among other things exposes `getJson` function. As the read is processing
>> data asynchronously it can not just return data structure but returning
>> it's Msg type instead which is:
>>
>> type Msg
>> = FetchSucceed (Maybe Jobs)
>> | FetchFail Http.Error
>>
>> Now if module B imports module A it can call `getJson` method but it will
>> only trigger initial call and then has to listen to `FetchSucceed`:
>>
>> update : A.Msg -> A -> (A, Cmd A.Msg)
>> update msg model =
>> case msg of
>> FetchSucceed a ->
>> (A a, Cmd.none)
>>
>> FetchFail _ ->
>> (model, Cmd.none)
>>
>> My question is if module B has it's own command how does `update`
>> function combines listening to commands from both modules?
>>
>> Thanks.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Elm Discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> There is NO FATE, we are the creators.
> blog: http://damoc.ro/
>
--
You received this message because you are subscribed to the Google Groups "Elm
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.