Ohm-Management - Projektarbeit B-ME
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.

fetch.js 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /** PURE_IMPORTS_START _.._Observable PURE_IMPORTS_END */
  2. import { Observable } from '../../Observable';
  3. export function fromFetch(input, init) {
  4. return new Observable(function (subscriber) {
  5. var controller = new AbortController();
  6. var signal = controller.signal;
  7. var outerSignalHandler;
  8. var abortable = true;
  9. var unsubscribed = false;
  10. if (init) {
  11. if (init.signal) {
  12. outerSignalHandler = function () {
  13. if (!signal.aborted) {
  14. controller.abort();
  15. }
  16. };
  17. init.signal.addEventListener('abort', outerSignalHandler);
  18. }
  19. init.signal = signal;
  20. }
  21. else {
  22. init = { signal: signal };
  23. }
  24. fetch(input, init).then(function (response) {
  25. abortable = false;
  26. subscriber.next(response);
  27. subscriber.complete();
  28. }).catch(function (err) {
  29. abortable = false;
  30. if (!unsubscribed) {
  31. subscriber.error(err);
  32. }
  33. });
  34. return function () {
  35. unsubscribed = true;
  36. if (abortable) {
  37. controller.abort();
  38. }
  39. };
  40. });
  41. }
  42. //# sourceMappingURL=fetch.js.map