refactoring: tickerC
Vladimir Bauer
3 years ago
| 249 | 249 | func (p *Progress) serve(s *pState, cw *cwriter.Writer) { |
| 250 | 250 | var err error |
| 251 | 251 | render := func() error { return s.render(cw) } |
| 252 | refreshCh := p.newTicker(s, cw.IsTerminal()) | |
| 252 | tickerC := p.newTicker(s, cw.IsTerminal()) | |
| 253 | 253 | |
| 254 | 254 | for { |
| 255 | 255 | select { |
| 257 | 257 | op(s) |
| 258 | 258 | case fn := <-p.interceptIo: |
| 259 | 259 | fn(cw) |
| 260 | case <-refreshCh: | |
| 260 | case <-tickerC: | |
| 261 | 261 | e := render() |
| 262 | 262 | if e != nil { |
| 263 | 263 | p.cancel() // cancel all bars |