If JavaScript waited for each task, your app would freeze. Instead, it continues running other code while waiting. A Promise represents a value that arrives in the future. A Promise has three states: ...