diff --git a/packages/nuxt/src/app/composables/asyncData.ts b/packages/nuxt/src/app/composables/asyncData.ts index 91042dd1db4..ab01e52a864 100644 --- a/packages/nuxt/src/app/composables/asyncData.ts +++ b/packages/nuxt/src/app/composables/asyncData.ts @@ -131,8 +131,14 @@ export function useAsyncData< } asyncData.pending.value = true // TODO: Cancel previous promise - nuxt._asyncDataPromises[key] = Promise.resolve() - .then(() => handler(nuxt)) + nuxt._asyncDataPromises[key] = new Promise( + (resolve, reject) => { + try { + resolve(handler(nuxt)) + } catch (err) { + reject(err) + } + }) .then((result) => { if (options.transform) { result = options.transform(result)