To approach this efficiently, think about when you would actually need to update pathfinding. For starters, if an object has line of sight, you don't need pathfinding at all.
When line of sight is broken, run pathfinding for that instance only.
Upon reaching the first node or corner, check again if you have line of sight or not, and run pathfinding again if not.
Basically during the whole time the object is traveling to that first waypoint, running pathfinding again is useless because the result will be the same anyway.
Oohhhhh I get get! Thanks for the help! That should fix my problem. One problem I was having with my current code was when there got to be to many enemies on the screen some of them would just no longer move.