Frontend/25_01_07/mai/node_modules/thunky/promise.js
szabomarton 7f4a15b9c3 asd
2025-01-28 11:38:27 +01:00

21 lines
344 B
JavaScript

module.exports = thunkyp
function thunkyp (fn) {
let running = null
return ready
function ready () {
if (running) return running
const p = fn()
if (!(p instanceof Promise)) running = Promise.resolve(p)
else running = p
running.catch(onerror)
return running
}
function onerror () {
running = null
}
}