aboutsummaryrefslogtreecommitdiff
path: root/node_modules/queue-microtask/index.js
blob: 55605343a2defd5f8567f0b564d32e22e2e7556f (plain)
1
2
3
4
5
6
7
8
9
/*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
let promise

module.exports = typeof queueMicrotask === 'function'
  ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global)
  // reuse resolved promise, and allocate it lazily
  : cb => (promise || (promise = Promise.resolve()))
    .then(cb)
    .catch(err => setTimeout(() => { throw err }, 0))