forked from ard/ruoyi-api

zhangnaisong
2024-05-07 9b9af4c9457c03061ce4d0bb7656a2c3ad04894e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
  }
}