hudly/mcfetch/notes.md
2024-10-22 18:49:14 -06:00

995 B

Example Usage:


package main

import (
    "fmt"
    "log"
    "time"
    "mcfetch"
)

func main() {
    // Create a channel to receive the result
    resultChan := make(chan map[string]interface{})
    errorChan := make(chan error)

    // Create an AsyncPlayerFetcher for asynchronous data fetching
    asyncFetcher := mcfetch.NewAsyncPlayerFetcher(
        "Notch",            // Minecraft username or UUID
        3,                   // Number of retries
        2*time.Second,       // Retry delay
        5*time.Second,       // Request timeout
    )

    // Start asynchronous data fetching
    asyncFetcher.FetchPlayerDataAsync(resultChan, errorChan)

    // Non-blocking code execution (do something else while waiting)
    fmt.Println("Fetching data asynchronously...")

    // Block until we receive data or an error
    select {
    case data := <-resultChan:
        fmt.Printf("Player data: %+v\n", data)
    case err := <-errorChan:
        log.Fatal(err)
    }
}