It doesn't matter in this case, but if there was more going on in that loop and you wanted to maintain an accurate interval rather than allow the intervals to drift slightly, you'd want to do the increment like this, instead:
Went with this in the end.
unsigned long currentMillis = millis();
while((currentMillis - previousMillis < interval))
// save the last time you reset the watchdog
previousMillis = currentMillis;
Firstly, that won't work because you aren't updating currentMillis inside the loop. Just call millis() directly instead of using that variable and it will work OK.
Secondly, it doesn't matter in this case but if there was more going on in that loop and you wanted your intervals to be maintained accurately then you would be better to update previousMillis like this:
previousMillis += interval;
The reason is that the result of millis() may be greater than (previousMillis + interval) by the time your sketch executes this code since the processor isn't infinitely fast. In effect, you are scheduling the next event based on the time this event was due
, not the time your sketch handled it.