If you want something to happen over time, you do not want to use a loop. Loops resolve "instantly" in one frame.
The entire event sheet is actually a loop that runs once per frame, so simply add a variable to keep track of the state of the sprite, for example "rotating". On button press, toggle "rotating" to true. While "rotating" is true, rotate the sprite.
Remember to add an event that sets "rotating" to false when you reach the target angle. (Or nearly reach, watch out for rounding problems)