JSTQL-JS-Transform/output_testing/780Suspend.js

20 lines
No EOL
501 B
JavaScript

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 => {
(() => {
isResolved = true;
resolve();
}) |> setTimeout(%, typeof window === 'object' ? 6000 : 1000);
});
}
throw promise;
}
return children;
}