IBM Interview Question

Explain promises in javascript?