fix(nuxt): dedupe payload cache by payload url (#19563)

This commit is contained in:
Daniel Roe 2023-03-09 18:36:54 +00:00 committed by GitHub
parent fdd4bddf35
commit d469740105
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,17 +12,17 @@ export function loadPayload (url: string, opts: LoadPayloadOptions = {}) {
const payloadURL = _getPayloadURL(url, opts)
const nuxtApp = useNuxtApp()
const cache = nuxtApp._payloadCache = nuxtApp._payloadCache || {}
if (cache[url]) {
return cache[url]
if (cache[payloadURL]) {
return cache[payloadURL]
}
cache[url] = _importPayload(payloadURL).then((payload) => {
cache[payloadURL] = _importPayload(payloadURL).then((payload) => {
if (!payload) {
delete cache[url]
delete cache[payloadURL]
return null
}
return payload
})
return cache[url]
return cache[payloadURL]
}
export function preloadPayload (url: string, opts: LoadPayloadOptions = {}) {