diff --git a/src/prefetch.ts b/src/prefetch.ts index e34a587..7a41f9b 100644 --- a/src/prefetch.ts +++ b/src/prefetch.ts @@ -5,7 +5,7 @@ import { Entry, importEntry, ImportEntryOpts } from 'import-html-entry'; import { isFunction } from 'lodash'; -import { getMountedApps } from 'single-spa'; +import { getAppStatus, getMountedApps, NOT_LOADED } from 'single-spa'; import { AppMetadata, PrefetchStrategy } from './interfaces'; type RequestIdleCallbackHandle = any; @@ -77,14 +77,14 @@ function prefetch(entry: Entry, opts?: ImportEntryOpts): void { function prefetchAfterFirstMounted(apps: AppMetadata[], opts?: ImportEntryOpts): void { window.addEventListener('single-spa:first-mount', function listener() { - const mountedApps = getMountedApps(); - const notMountedApps = apps.filter(app => mountedApps.indexOf(app.name) === -1); + const notLoadedApps = apps.filter(app => getAppStatus(app.name) === NOT_LOADED); if (process.env.NODE_ENV === 'development') { - console.log(`[qiankun] prefetch starting after ${mountedApps} mounted...`, notMountedApps); + const mountedApps = getMountedApps(); + console.log(`[qiankun] prefetch starting after ${mountedApps} mounted...`, notLoadedApps); } - notMountedApps.forEach(({ entry }) => prefetch(entry, opts)); + notLoadedApps.forEach(({ entry }) => prefetch(entry, opts)); window.removeEventListener('single-spa:first-mount', listener); });