Objective: Implement a real-time search feature in an Angular application that searches the planets in the star wars ecosystem as the user types in a search input field. The search should only trigger after the user has stopped typing for 500 milliseconds, to avoid overwhelming the server with requests. Additionally, ensure that the search results are updated with each successful query, and previous queries are cancelled if still in progress when a new one is made. The endpoint you'll hit is https://swapi.dev/api/planets/?search={query}

Please explain your thought process and ask any clarifiying questions as you go through it.