保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 26fa49f4b0aa658d65a21fffe828f39e78302573
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'use strict'
 
function reusify (Constructor) {
  var head = new Constructor()
  var tail = head
 
  function get () {
    var current = head
 
    if (current.next) {
      head = current.next
    } else {
      head = new Constructor()
      tail = head
    }
 
    current.next = null
 
    return current
  }
 
  function release (obj) {
    tail.next = obj
    tail = obj
  }
 
  return {
    get: get,
    release: release
  }
}
 
module.exports = reusify