Asynchronous functions make it easier to write asynchronous JavaScript by using the async keyword. Asynchronous functions always return promises, even if a normal value is returned. You should understand JavaScript promises before using asynchronous functions, as they can cause confusion if promises are not understood.