From: Sorin Davidoi Date: Mon, 24 Jul 2017 23:05:44 +0000 (+0200) Subject: fix(components/bundle): Exit early in load function (#4349) X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=23e854cb9176f7458fd7c2f66071486c21db239a;p=mastodon.git fix(components/bundle): Exit early in load function (#4349) --- diff --git a/app/javascript/mastodon/features/ui/components/bundle.js b/app/javascript/mastodon/features/ui/components/bundle.js index 72798f690..fc88e0c70 100644 --- a/app/javascript/mastodon/features/ui/components/bundle.js +++ b/app/javascript/mastodon/features/ui/components/bundle.js @@ -52,14 +52,8 @@ class Bundle extends React.Component { load = (props) => { const { fetchComponent, onFetch, onFetchSuccess, onFetchFail, renderDelay } = props || this.props; - this.setState({ mod: undefined }); onFetch(); - if (renderDelay !== 0) { - this.timestamp = new Date(); - this.timeout = setTimeout(() => this.setState({ forceRender: true }), renderDelay); - } - if (Bundle.cache[fetchComponent.name]) { const mod = Bundle.cache[fetchComponent.name]; @@ -68,6 +62,13 @@ class Bundle extends React.Component { return Promise.resolve(); } + this.setState({ mod: undefined }); + + if (renderDelay !== 0) { + this.timestamp = new Date(); + this.timeout = setTimeout(() => this.setState({ forceRender: true }), renderDelay); + } + return fetchComponent() .then((mod) => { Bundle.cache[fetchComponent.name] = mod;