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