1. 首页
  2. 主题
  3. Go语言

大佬们go并发有个问题想请教一下-关于1秒钟并发请求N个api的问题

xiaolaodi · · 1960 次点击
#### 我有一些抓取操作,需要1秒钟实现10个api的请求,我把那些数据,临时存储到数组里面,但是不知道怎么通过并发的形式实现 ```go func main() { timeout := time.NewTicker(1 * time.Second).C var zips = []string{"01", "02", "03", "04", "05", "06", "07", "08", "14", "15", "16", "09", "10", "11", "12", "13", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "81", "51", "52", "53", "54", "55", "82", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "77", "78", "75", "76", "79", "80"} for { select { case <-timeout: println("时间:", time.Now().Second()) for i := 0; i < 10; i++ { println(zips[i]) } } } } ```
```go resp, err := c.Do(req) if err != nil { defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) log.Printf(&#34;resp body = %s\n&#34;, body) } else { log.Println(err) } ``` 这里的if err 判断写反了,应该是 `if err == nil `才进正常逻辑
#13
更多评论
用go 协程去请求api
#1
哥们 我也这么想的,但是似乎不对。
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中