code: func (client *Client) asyncRequest(ctx context.Context, asyncCommand AsyncCommand) (interface{}, error) {
  	var err error
  
  	resp := asyncCommand.AsyncResponse()
  	client.AsyncRequestWithContext(
  		ctx,
  		asyncCommand,
  		func(j *AsyncJobResult, e error) bool {
  			if e != nil {
  				err = e
  				return false
  			}
  			if j.JobStatus != Pending {
  				if r := j.Result(resp); r != nil {
  					err = r
  				}
  				return false
  			}
  			return true
  		},
  	)
  	return resp, err
  }
docs: // asyncRequest perform an asynchronous job with a context