Preloading Best Practices

I appreciate the idea of loading the light/critical content ahead of the other stuff but I was wondering are there other things that will enhance the preload process?

For example a preloader/preloading process that can be paused and resumed:

  1. preload the subcontents in an order.
  2. if the user clicks on button to a subcontent that has not been loaded, the process is paused and the focus is on loading that immediate content.
  3. then then preloading resumes again on the items that have not been loaded yet.

So my guess of how this would work is there’s a check variable. After each item is loaded and before you proceed to loading the next item, you check if a button has been pushed.

Is there some better way to implement this?