You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

пре 3 година
1234567891011121314151617181920212223
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports["default"] = makeCancellablePromise;
  6. function makeCancellablePromise(promise) {
  7. var isCancelled = false;
  8. var wrappedPromise = new Promise(function (resolve, reject) {
  9. promise.then(function () {
  10. return !isCancelled && resolve.apply(void 0, arguments);
  11. })["catch"](function (error) {
  12. return !isCancelled && reject(error);
  13. });
  14. });
  15. return {
  16. promise: wrappedPromise,
  17. cancel: function cancel() {
  18. isCancelled = true;
  19. }
  20. };
  21. }