Pregunta de entrevista de IBM

Explain promises in javascript?