That's a really good question.
It would run every time you call for a director. And in a Real application that resolve function may end up calling a DB or making a HTTP request.
To make this more efficient a cache could be implemented so that the DB or HTTP call can be avoided whenever possible. But the cache implementation would be specific to your application.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.