Promises, under the hood You all know that to create a new Promise you need to define it this way: new Promise((resolve, reject) => { ... resolve(someValue) }) You are passing a callback that defines the specific behavior of your promise.