Promises are not cancellable. You can use Promise.race() to get the fastest one, but you can't prevent the others from being settled eventually. Their resolving/rejected values will eventually be freed up by the garbage collector, so this is not much of a problem.