Advertisement
Guest User

Untitled

a guest
May 29th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. /**
  2. * Just call __PBSJC_drain at the end of your code
  3. */
  4.  
  5. var __PBSJC_funcHandles = []
  6. , __PBSJC_funcHandleCount = 0
  7. , __PBSJC_drain = function __PBSJC_drain () {
  8. var extracted, i, ii, cur
  9. while (__PBSJC_funcHandles.length) {
  10. extracted = __PBSJC_funcHandles
  11. __PBSJC_funcHandles = []
  12. extracted.sort(function (a, b) {
  13. return a[1] - b[1]
  14. })
  15. for (i=0, ii=extracted.length; i<ii; ++i) {
  16. cur = extracted[i]
  17. if (cur[3] === true) {
  18. __PBSJC_funcHandles.push(cur)
  19. }
  20. cur[0]()
  21. }
  22. }
  23. }
  24. , __PBSJC_clearFunc = function __PBSJC_clearFunc (handle) {
  25. var i, ii
  26. for (i=0, ii=__PBSJC_funcHandles.length; i<ii; ++i) {
  27. if (__PBSJC_funcHandles[i][2] === handle) {
  28. __PBSJC_funcHandles.splice(i, 1)
  29. return
  30. }
  31. }
  32. }
  33. , __PBSJC_queueFunc = function __PBSJC_queueFunc (func, delay) {
  34. __PBSJC_funcHandles.push([func, delay, __PBSJC_funcHandleCount++, false])
  35. }
  36. , __PBSJC_queueIntv = function __PBSJC_queueFunc (func, delay) {
  37. __PBSJC_funcHandles.push([func, delay, __PBSJC_funcHandleCount++, true])
  38. }
  39. , setTimeout = __PBSJC_queueFunc
  40. , setImmediate = __PBSJC_queueFunc
  41. , setInterval = __PBSJC_queueIntv
  42. , clearTimeout = __PBSJC_clearFunc
  43. , clearInterval = __PBSJC_clearFunc
  44. , clearImmediate = __PBSJC_clearFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement