第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Go 中長輪詢多個 url?

如何在 Go 中長輪詢多個 url?

Go
縹緲止盈 2023-07-31 15:11:44
這是我到目前為止所擁有的:package mainimport (    "encoding/json"    "fmt"    "io/ioutil"    "log"    "net/http")func subscribe(urls Urls) []byte {    req, err := http.NewRequest("GET", urls.Url, nil)    if err != nil {        log.Fatal(err)    }    req.Header.Set("authentication", "Bearer " + urls.Token)    http_client := &http.Client{}    res, err := http_client.Do(req)    if err != nil {        log.Fatal(err)    }    defer res.Body.Close()    resourceResp, err := ioutil.ReadAll(res.Body)    if err != nil {        log.Fatal(err)    }    fmt.Println(string(resourceResp))    var data map[string]interface{}    error := json.Unmarshal([]byte(resourceResp), &data)    if error != nil {        log.Fatal(error)    }    return subscribe(urls)}type Urls struct {    Url string    Token string}func main() {    var urls [2]Urls    urls[0] = Urls{        Url: "https://example.com/users/8",        Token: "abcdefg",    }    urls[1] = Urls{        Url:   "https://example.com/users/9",        Token: "hijklmnop",    }    subscribe(urls[0])    subscribe(urls[1])}最終目標(biāo)是“訂閱”多個 url 并提取任何更新的數(shù)據(jù)(最終將其添加到隊列中,但一次一步)。之后,重新建立連接?,F(xiàn)在,只有第一個訂閱運(yùn)行。謝謝!
查看完整描述

1 回答

?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個贊

我認(rèn)為您要求的是subscribe并行運(yùn)行這些功能。一種方法是將它們包裝在goroutine中并等待所有g(shù)oroutine完成:


func main() {

    ...

    ...

    var wg sync.WaitGroup


    wg.Add(len(urls))


    for _, url := range(urls) {

        go func() {

            defer wg.Done()

            subscribe(url)

        }()

    }


    wg.Wait()

}


查看完整回答
反對 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號