Web Platformintermediate
AbortSignal.any() to combine multiple abort signals into one
const routeChangeController = new AbortController();
window.addEventListener("pagehide", () => routeChangeController.abort(), { once: true });
export const search = (query: string) => {
const requestController = new AbortController();Cancel a fetch when any of several unrelated conditions fires — a timeout, a route change, an explicit cancel — without hand-rolling a signal merger.