Pergunta de entrevista da empresa Infosys

What is a promise in JavaScript?