let promise = null; let isResolved = false; export default function Suspend({children}) { // This will suspend the content from rendering but only on the client. // This is used to demo a slow loading app. if (!isResolved) { if (promise === null) { promise = new Promise(resolve => { setTimeout( () => { isResolved = true; resolve(); }, typeof window === 'object' ? 6000 : 1000 ); }); } throw promise; } return children; }