1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00

group list batch

This commit is contained in:
wfjsw 2020-08-24 13:16:53 +08:00
parent 834baa5b6b
commit 7a5aaa8d61

View File

@ -630,18 +630,25 @@ func (c *QQClient) GetGroupList() ([]*GroupInfo, error) {
} }
r := rsp.([]*GroupInfo) r := rsp.([]*GroupInfo)
wg := sync.WaitGroup{} wg := sync.WaitGroup{}
wg.Add(len(r)) batch := 50
for _, group := range r { for i := 0; i < len(r); i += batch {
go func(g *GroupInfo, wg *sync.WaitGroup) { k := i + batch
defer wg.Done() if k > len(r) {
m, err := c.GetGroupMembers(g) k = len(r)
if err != nil { }
return wg.Add(k - i)
} for j := i; j < k; j++ {
g.Members = m go func(g *GroupInfo, wg *sync.WaitGroup) {
}(group, &wg) defer wg.Done()
m, err := c.GetGroupMembers(g)
if err != nil {
return
}
g.Members = m
}(r[j], &wg)
}
wg.Wait()
} }
wg.Wait()
return r, nil return r, nil
} }