10 lines
402 B
JavaScript
10 lines
402 B
JavaScript
/*! 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))
|