Завантаження веб-сторінки

Elm:
Завантаження веб-сторінки

How to: (Як зробити:)

В Elm, ви можете завантажити веб-сторінку використовуючи Http модуль. Нижче представлений приклад запиту до сервера та обробки відповіді.

import Http
import Json.Decode as Decode

type Msg
    = GotText (Result Http.Error String)

getText : Cmd Msg
getText =
    Http.get
        { url = "https://example.com"
        , expect = Http.expectString GotText
        }

update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
    case msg of
        GotText (Ok text) ->
            ({ model | content = text }, Cmd.none)

        GotText (Err _) ->
            (model, Cmd.none)

-- initialize and subscriptions omitted for brevity

У прикладі вище код робить HTTP GET запит до "https://example.com" і очікує на текстову відповідь.

Deep Dive (Поглиблений Аналіз)

Завантаження веб-сторінок у Elm розпочалося з релізом мови, який перекладення веб-запитів на більш високий рівень абстракції. Elm використовує Http модуль, який робить чисті HTTP запити без бокових ефектів, узгоджуючись з архітектурою Elm. Альтернативою є пряме використання JavaScript через порти (ports), але це здебільшого підходить для складних випадків, де Elm Http модуль не пропонує потрібного функціоналу. Модуль Http використовує Task для представлення асинхронних запитів які можуть виконатися паралельно та легко об’єднуватися.

See Also (Дивись також)