[{"data":1,"prerenderedAt":16},["ShallowReactive",2],{"articles":3},[4],{"path":5,"title":6,"description":7,"date":8,"tags":9,"readingTime":14,"image":15},"\u002Farticles\u002Fcancelling-api-requests-vue-3","Cancelling API Requests in Vue 3: One Registry, Two Paths, and the Question That Orders Them","Vue 3 exposes four things that look like four ways to cancel a stale request — the watch\u002FwatchEffect onCleanup parameter, the 3.5 onWatcherCleanup import, and AbortController. They're really two registration paths over one registry, and one of them silently no-ops after await. Here's the source-level reason, and which to reach for.","2026-07-22",[10,11,12,13],"Vue.js","Composition API","Reactivity","Async",17,null,1784287454327]