From 0564c00236fe3e1efff95ba78bb4bd2284c0bd90 Mon Sep 17 00:00:00 2001 From: Kuitos Date: Sat, 10 Oct 2020 15:51:32 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20just=20prefetch=20the=20apps=20w?= =?UTF-8?q?hich=20not=20loaded,=20rather=20than=20the=20loading=20or=20loa?= =?UTF-8?q?ded=20error=20ones=20(#980)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/prefetch.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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); });