I was testing app because of the lazy internet there were so slow reactions (loading tapped items form internet) therefore I tapped several times. several seconds later when the internet was fine started to loading tens of empty pages of product details page.
I will be appreciated if anyone suggests a way to improve better user interaction with fewer bugs.
In general, pop a loading indicator or some other sort of progress display whenever initiating network requests. That way the user knows that it is waiting on a response.
In addition to a loading spinner, as suggested, you can define a boolean flag that says request X is currently underway. You allow the user to initiate request X only if it is not currently underway.