Pergunta de entrevista da empresa IBM

Explain promises in javascript?