Reading data from Monitor using interupts?

yes there are many delay on the loop() function

...is the wrong answer!

Of course, as a first stab, you could wrap the delays up to give you a chance to break out early.