func (p *Strategy) Finish() error {
	for _, f := range p.deferFuncs {
		if err := f(); err != nil {
			return errors.Trace(err)
		}
	}
	return nil
}
// Finish will attempt to close out the download procedure. Cleaning up any
// outstanding function tasks.
// If the function task errors out, then it prevents any further task from being
// executed.
// It is expected that each task correctly handles the error if they want to
// continue with finishing all the tasks.
Finish will attempt to close out the download procedure. Cleaning up any
outstanding function tasks.
If the function task errors out, then it prevents any further task from being
executed.
It is expected that each task correctly handles the error if they want to
continue with finishing all the tasks.
// Finish will attempt to close out the download procedure . Cleaning up any // outstanding function tasks . // If the function task errors out then it prevents any further task from being // executed . // It is expected that each task correctly handles the error if they want to // continue with finishing all the tasks .
func (p *Strategy) Finish() error {
	for _, f := range p.deferFuncs {
		if err := f(); err != nil {
			return errors.Trace(err)
		}
	}
	return nil
}
func ( p * Strategy ) Finish ( ) error { for _ , f := range p . deferFuncs { if err := f ( ) ; err != nil { return errors . Trace ( err ) } } return nil }
Finish will attempt to close out the download procedure.
Finish will attempt to close out the download procedure .