Alternative Blink without Delay

It does what you want without any side effects that I can see, so there's nothing wrong with that as a solution. Explicitly comparing the result of millis() against a threshold gives you much more flexibility, but it's flexibility that you don't need in this simple example.