Pregunta de entrevista de Infosys

What is a promise in JavaScript?