1 var $ = require('../internals/export');
2 var global = require('../internals/global');
3 var microtask = require('../internals/microtask');
4 var classof = require('../internals/classof-raw');
6 var process = global.process;
7 var isNode = classof(process) == 'process';
9 // `queueMicrotask` method
10 // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
11 $({ global: true, enumerable: true, noTargetGet: true }, {
12 queueMicrotask: function queueMicrotask(fn) {
13 var domain = isNode && process.domain;
14 microtask(domain ? domain.bind(fn) : fn);