diff --git a/editor/components/post-taxonomies/hierarchical-term-selector.js b/editor/components/post-taxonomies/hierarchical-term-selector.js index bb6e52bedcd5..32c80de9502f 100644 --- a/editor/components/post-taxonomies/hierarchical-term-selector.js +++ b/editor/components/post-taxonomies/hierarchical-term-selector.js @@ -145,6 +145,7 @@ class HierarchicalTermSelector extends Component { ) ); this.props.speak( termAddedMessage, 'assertive' ); + this.addRequest = null; this.setState( { adding: false, formName: '', @@ -157,6 +158,7 @@ class HierarchicalTermSelector extends Component { if ( xhr.statusText === 'abort' ) { return; } + this.addRequest = null; this.setState( { adding: false, } ); @@ -165,10 +167,12 @@ class HierarchicalTermSelector extends Component { componentDidMount() { const basePath = wp.api.getTaxonomyRoute( this.props.slug ); - this.fetchRequest = wp.apiRequest( { path: `/wp/v2/${ basePath }?${ stringify( DEFAULT_QUERY ) }` } ).then( + this.fetchRequest = wp.apiRequest( { path: `/wp/v2/${ basePath }?${ stringify( DEFAULT_QUERY ) }` } ); + this.fetchRequest.then( ( terms ) => { // resolve const availableTermsTree = buildTermsTree( terms ); + this.fetchRequest = null; this.setState( { loading: false, availableTermsTree, @@ -179,6 +183,7 @@ class HierarchicalTermSelector extends Component { if ( xhr.statusText === 'abort' ) { return; } + this.fetchRequest = null; this.setState( { loading: false, } );