fix(iter): ctx select

This commit is contained in:
iyear 2022-09-16 00:04:27 +08:00
parent 9f7c957eac
commit 7139f4200f
2 changed files with 27 additions and 3 deletions

View file

@ -27,7 +27,13 @@ func newIter(client *tg.Client, msgs []*msg) *iter {
}
}
func (i *iter) Next(_ context.Context) bool {
func (i *iter) Next(ctx context.Context) bool {
select {
case <-ctx.Done():
return false
default:
}
i.cur++
if i.cur == len(i.msgs) {
@ -38,6 +44,12 @@ func (i *iter) Next(_ context.Context) bool {
}
func (i *iter) Value(ctx context.Context) (*downloader.Item, error) {
select {
case <-ctx.Done():
return nil, ctx.Err()
default:
}
cur := i.msgs[i.cur]
msgs, err := i.client.ChannelsGetMessages(ctx, &tg.ChannelsGetMessagesRequest{

View file

@ -20,7 +20,13 @@ func newIter(files []string) *iter {
}
}
func (i *iter) Next(_ context.Context) bool {
func (i *iter) Next(ctx context.Context) bool {
select {
case <-ctx.Done():
return false
default:
}
i.cur++
if i.cur == len(i.files) {
@ -30,7 +36,13 @@ func (i *iter) Next(_ context.Context) bool {
return true
}
func (i *iter) Value(_ context.Context) (*uploader.Item, error) {
func (i *iter) Value(ctx context.Context) (*uploader.Item, error) {
select {
case <-ctx.Done():
return nil, ctx.Err()
default:
}
cur := i.files[i.cur]
mime, err := mimetype.DetectFile(cur)