AbortController.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // 版权所有(c).NET基金会。保留所有权利。
  2. // 在2.0版Apache许可下授权。有关许可证信息,请参见项目根目录中的License.txt。
  3. //粗略填写 https://developer.mozilla.org/en-US/docs/Web/API/AbortController
  4. //实际上,我们从来没有使用被polyfill填充的API,我们总是使用polyfill,因为
  5. //它现在还是一个非常新的API。
  6. /**
  7. *
  8. * @private
  9. */
  10. var AbortController = /** @class */ (function () {
  11. function AbortController() {
  12. this.isAborted = false;
  13. this.onabort = null;
  14. }
  15. AbortController.prototype.abort = function () {
  16. if (!this.isAborted) {
  17. this.isAborted = true;
  18. if (this.onabort) {
  19. this.onabort();
  20. }
  21. }
  22. };
  23. Object.defineProperty(AbortController.prototype, "signal", {
  24. get: function () {
  25. return this;
  26. },
  27. enumerable: true,
  28. configurable: true
  29. });
  30. Object.defineProperty(AbortController.prototype, "aborted", {
  31. get: function () {
  32. return this.isAborted;
  33. },
  34. enumerable: true,
  35. configurable: true
  36. });
  37. return AbortController;
  38. }());
  39. export { AbortController };