I mean, why would you want to "cancel" a Promise? You can already cancel HTTP requests, what are some other things you want to cancel really?
If you don't want to continue with something inside a Promise, just pass in something that could be changed from `true` to `false` and it cancels itself based on that.