trap will return from the handler, but after the command called when the handler was invoked.
So the solution is a little clumsy but I think it does what is required. trap handler INT
also will work.
trap 'echo "Be patient"' INT
for ((n=20; n; n--))
do
sleep 1
done