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,8 +630,14 @@ func (c *QQClient) GetGroupList() ([]*GroupInfo, error) {
}
r := rsp.([]*GroupInfo)
wg := sync.WaitGroup{}
wg.Add(len(r))
for _, group := range r {
batch := 50
for i := 0; i < len(r); i += batch {
k := i + batch
if k > len(r) {
k = len(r)
}
wg.Add(k - i)
for j := i; j < k; j++ {
go func(g *GroupInfo, wg *sync.WaitGroup) {
defer wg.Done()
m, err := c.GetGroupMembers(g)
@ -639,9 +645,10 @@ func (c *QQClient) GetGroupList() ([]*GroupInfo, error) {
return
}
g.Members = m
}(group, &wg)
}(r[j], &wg)
}
wg.Wait()
}
return r, nil
}