c90e5f0566
Co-authored-by: Sebastian Markbåge <sebastian@calyptus.eu> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
22 lines
585 B
TypeScript
22 lines
585 B
TypeScript
/**
|
|
* Used to cache in createInfinitePromise
|
|
*/
|
|
let infinitePromise: Promise<void>
|
|
|
|
/**
|
|
* Create a Promise that does not resolve. This is used to suspend when data is not available yet.
|
|
*/
|
|
export function createInfinitePromise() {
|
|
if (!infinitePromise) {
|
|
// Only create the Promise once
|
|
infinitePromise = new Promise((/* resolve */) => {
|
|
// This is used to debug when the rendering is never updated.
|
|
// setTimeout(() => {
|
|
// infinitePromise = new Error('Infinite promise')
|
|
// resolve()
|
|
// }, 5000)
|
|
})
|
|
}
|
|
|
|
return infinitePromise
|
|
}
|