event.waitUntil
is not available in defineCachedEventHandler
#3063
Labels
event.waitUntil
is not available in defineCachedEventHandler
#3063
Environment
nitro v2.10.4
Reproduction
export default defineCachedEventHandler(async (event) => {
event.waitUntil(asyncTask()); // ❌ Throws error: "event.waitUntil is not a function"
return { success: true };
}, { maxAge: 60 });
export default defineEventHandler(async (event) => {
event.waitUntil(new Promise((resolve) => setTimeout(resolve, 3000))); // ✅ Works as expected
});
Describe the bug
When using defineEventHandler(), calling event.waitUntil() works as expected and allows asynchronous tasks to continue running after the response has been sent. However, inside defineCachedEventHandler(), event.waitUntil() is undefined, causing an error when attempting to use it.
Is this expected behaviour?
If event.waitUntil() is unavailable, how can I ensure my Cloudflare Worker does not terminate my defineCachedEventHandler() before an asynchronous function completes?
Additional context
No response
Logs
The text was updated successfully, but these errors were encountered: