This version of the app has all the features of Example 1, as well as another error handling feature: a timer which tracks the amount of time the request has taken, and offers the user the choice of reloading if the request takes too long. Increase the server-side delay to get a better look.