File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11( function ( self ) {
22 'use strict' ;
33
4- if ( self . fetch ) {
4+ function canAbortFetch ( ) {
5+ if ( ! self . AbortController || ! self . AbortSignal ) {
6+ return false ;
7+ }
8+
9+ var abortController = new self . AbortController ( ) ;
10+
11+ var request = new self . Request ( 'http://a' , {
12+ signal : abortController . signal
13+ } ) ;
14+
15+ return Boolean ( request . signal ) ;
16+ }
17+
18+ if ( self . fetch && canAbortFetch ( ) ) {
519 return
620 }
721
443457 reject ( new TypeError ( 'Network request failed' ) )
444458 }
445459
460+ xhr . onabort = function ( ) {
461+ reject ( new DOMException ( 'Aborted' , 'AbortError' ) )
462+ }
463+
446464 xhr . open ( request . method , request . url , true )
447465
448466 if ( request . credentials === 'include' ) {
459477 xhr . setRequestHeader ( name , value )
460478 } )
461479
480+ if ( init . signal && init . signal . addEventListener ) {
481+ init . signal . addEventListener ( 'abort' , xhr . cancel )
482+ }
483+
462484 xhr . send ( typeof request . _bodyInit === 'undefined' ? null : request . _bodyInit )
463485 } )
464486 }
You can’t perform that action at this time.
0 commit comments