En promise i JS är en abstraktion för asynkrona flöden som till slut blir ett (och inte mer än ett) värde.
Ett exempel som visar hur det kan förenkla saker är att titta på hur man kan göra ett anrop till en server för att hämta något. Eftersom vi inte vill låsa webbläsaren under tiden vi väntar på att vi ska få ett svar (det kan ju ta allt från några enstaka millisekunder till flera sekunder) så gör vi ett asynkront anrop genom att använda den inbyggda XMLHttpRequest
Det mest basic vi skriver för att göra detta vore något i stil med:
// skapa objektet som hanterar anropet