code: func (c *Client) GetHeadersAsync(blockLocators []chainhash.Hash, hashStop *chainhash.Hash) FutureGetHeadersResult {
  	locators := make([]string, len(blockLocators))
  	for i := range blockLocators {
  		locators[i] = blockLocators[i].String()
  	}
  	hash := ""
  	if hashStop != nil {
  		hash = hashStop.String()
  	}
  	cmd := btcjson.NewGetHeadersCmd(locators, hash)
  	return c.sendCmd(cmd)
  }
docs: // GetHeadersAsync returns an instance of a type that can be used to get the result
  // of the RPC at some future time by invoking the Receive function on the returned instance.
  //
  // See GetHeaders for the blocking version and more details.
  //
  // NOTE: This is a btcsuite extension ported from
  // github.com/decred/dcrrpcclient.