There are at least three basic forms of asynchronous transmission.
1) The UART, (Universal Asynchronous Receiver/Transmitter) where the transmit and receive clocks are asynchronous, but both ends agree (by some out-of-channel means like baud rate setting instructions) to use approximately the same frequency.
The receiver detects a start condition (RXD going low), waits half an agreed bit period, and starts acquiring data. As long as the baud rates agree to better than +/-5%, this system can operate for 10 bit periods (start, 8 bits, parity) before losing synchronisation, and it needs to re-synchronise at the start of each new symbol (character, byte).
Oversampling is a typical refinement on this scheme.
2) Self-clocked schemes, where a clock signal is buried in the data itself. One example of this is "Manchester code" where every clock edge causes a transition (change in level), every '1' data bit does, every '0' bit does not. These can even operate in the absence of a pre-agreed baud rate, provided the receiver is allowed some short time to "learn" the clock rate from the data, and there is some convention for framing (such as the missing clock edges in the AES/EBU preambles).
8B-10B codes are another family of self-clocking codes, where each byte is converted to a 10 bit value with some specific characteristics (such as, approximately equal number of 0's and 1's for minimum DC content, no runs of more than 5 9's or 1's in a row) - guaranteeing there are enough edges to infer the clock rate. IBM patented one implementation in 1984, but another was in use by 1982 for digital video transmission over fibre optic link (sketchy details on p.6 here)
3) Handshaking, which requires two signals for handshaking as well as the data signals.
Each time the transmitter sets a bit, it also changes the state of its handshake signal (often called "Req" or Request). The receiver notices this change, accepts the data bit, and replies with a state change on its "Ack" or Acknowledge signal. This gives the transmitter permission to send the next bit.
In some respects, Req is similar to a clock line : however unlike a clock, there is no defined clock frequency or signalling rate, the transmission is reliable even if the receiver is busy and ignores its inputs for a while.