Elm:
वेब पेज डाउनलोड करना
How to: (कैसे करें?)
Elm में वेब पेज डाउनलोड करना http कार्यों का उपयोग करके किया जाता है। नीचे एक साधारण कोड का उदाहरण दिया गया है:
module Main exposing (..)
import Http
import Html exposing (Html, text)
import Json.Decode as Decode
type Msg
= GotText (Result Http.Error String)
type alias Model =
{ content : String }
initialModel : Model
initialModel =
{ content = "" }
update : Msg -> Model -> Model
update msg model =
case msg of
GotText (Ok text) ->
{ model | content = text }
GotText (Err _) ->
model -- यहाँ त्रुटि हैंडल करें
view : Model -> Html Msg
view model =
Html.div []
[ Html.text model.content ]
subscriptions : Model -> Sub Msg
subscriptions model =
Sub.none
main =
Html.program
{ init = (initialModel, downloadPage "http://example.com")
, view = view
, update = update
, subscriptions = subscriptions
}
downloadPage : String -> Cmd Msg
downloadPage url =
Http.getString url
|> Http.send GotText
जब आप इस कोड को रन करेंगे, Elm http://example.com
से पेज का टेक्स्ट डाउनलोड करेगा और model.content
में स्टोर कर देगा।
Deep Dive (गहन जानकारी)
Elm में वेब पेज डाउनलोड करने की पद्धति अपेक्षाकृत नई है। पुराने संस्करण में इसके लिए बहुत सारी कस्टम जावास्क्रिप्ट लिखनी पड़ती थी, लेकिन Elm 0.19 में Http
मॉड्यूल के साथ यह सरल हो गया है। Http.getString
एक आसान फंक्शन है जो GET रिक्वेस्ट करके टेक्स्ट के रूप में डेटा लौटाता है।
विकल्प के तौर पर, आप Http.get
या Http.request
का उपयोग कर सकते हैं जब आपको अधिक जटिल अनुरोध करना होता है, जैसे जेसन डेटा प्राप्त करना या हेडर्स सेट करना।
Elm में एक महत्वपूर्ण बात यह है कि सभी साइड इफ़ेक्ट्स (जैसे कि HTTP रिक्वेस्ट्स) कमांड्स (Cmd) के माध्यम से होते हैं। यह प्योर फंक्शनल प्रोग्रामिंग का पालन करते हुए आपके एप्लीकेशन को प्रेडिक्टेबल बनाता है।