Building a Custom React Hook for Async Function Execution with Cancellation and Retry Support

Got this interview question recently 👇 “Build a custom React hook to execute async functions on demand, with cancellation and retry support.” Sounds simple… until you start thinking like it’s production code 🤯 Most candidates stop at: 👉 loading, error, data But the real discussion started after that. What happens when: • A request is still in-flight and a new one starts? 🔄 • The API is slow or flaky? 🐢 • You retry blindly and overload the backend? ⚠️ • A stale response overrides fresh data? 🧠 That’s where the problem gets interesting. A solid implementation needs: 🛑 AbortController → to cancel in-flight requests 🔁 Request tracking → to avoid race conditions ⏳ Retry logic → with limits + backoff 🚫 Error awareness → don’t retry 4xx blindly Biggest takeaway: 👉 Writing the hook is easy 👉 Designing it for real-world edge cases is the actual skill 💡 In practice, you might use tools like React Query or SWR - but interviews like this test whether you understand what happens under the hood. Curious - would you build this yourself or rely on a library? 🤔 #Frontend #ReactJS #JavaScript #WebDevelopment #SoftwareEngineering #SystemDesign #TechInterview #Coding

To view or add a comment, sign in

Explore content categories