Frontend Masters Boost RSS Feed https://frontendmasters.com/blog Helping Your Journey to Senior Developer Tue, 30 Sep 2025 21:37:50 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 225069128 Don’t Sleep on AbortController https://frontendmasters.com/blog/dont-sleep-on-abortcontroller/ https://frontendmasters.com/blog/dont-sleep-on-abortcontroller/#respond Tue, 30 Sep 2025 21:37:49 +0000 https://frontendmasters.com/blog/?p=7307 Artem Zakharchenko:

A great “aha” moment for me was when I realized you can use a single signal to remove multiple event listeners!

useEffect(() => {
  const controller = new AbortController()

  window.addEventListener('resize', handleResize, {
    signal: controller.signal,
  })
  window.addEventListener('hashchange', handleHashChange, {
    signal: controller.signal,
  })
  window.addEventListener('storage', handleStorageChange, {
    signal: controller.signal,
  })

  return () => {
    // Calling `.abort()` removes ALL event listeners
    // associated with `controller.signal`. Gone!
    controller.abort()
  }
}, [])
]]>
https://frontendmasters.com/blog/dont-sleep-on-abortcontroller/feed/ 0 7307