| | |
| | | func (s *FaceSdkService) GetFaceFea(){ |
| | | var wg sync.WaitGroup |
| | | wg.Add(1) |
| | | |
| | | go func() { |
| | | ticker := time.NewTicker(time.Second * 2) |
| | | go func(ticker *time.Ticker, s *FaceSdkService) { |
| | | defer ticker.Stop() |
| | | Exit: |
| | | for { |
| | | select { |
| | | case <-time.Tick(time.Second*2): |
| | | case <-ticker.C: |
| | | fmt.Println("倒计时结束") |
| | | wg.Done() |
| | | return |
| | | break Exit |
| | | default: |
| | | if feas,ok := resultMap[s.Id];ok { |
| | | fmt.Println("faceFea got!!!") |
| | | s.Result = feas |
| | | return |
| | | wg.Done() |
| | | break Exit |
| | | } else { |
| | | //fmt.Println("尚未拿到fea") |
| | | } |
| | | } |
| | | } |
| | | }() |
| | | }(ticker, s) |
| | | fmt.Println("wa.Wait") |
| | | wg.Wait() |
| | | fmt.Println("<-ch") |