Skip to content

Commit 41a02ed

Browse files
committed
Inline queueMicrotask polyfill
1 parent cd43d12 commit 41a02ed

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

packages/scheduler/src/queueMicrotask.js

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,18 @@
66
*
77
*/
88

9-
function queueMicrotaskPolyfill(callback: boolean => void) {
10-
if (typeof queueMicrotask !== 'undefined') {
11-
queueMicrotask(callback);
12-
} else if (typeof Promise !== 'undefined') {
13-
Promise.resolve(null)
14-
.then(callback)
15-
.catch(e => {
16-
setTimeout(() => {
17-
throw e;
18-
});
19-
});
20-
} else {
21-
setTimeout(callback);
22-
}
23-
}
9+
const queueMicrotaskImpl =
10+
typeof queueMicrotask === 'function'
11+
? queueMicrotask
12+
: typeof Promise !== 'undefined'
13+
? callback =>
14+
Promise.resolve(null)
15+
.then(callback)
16+
.catch(e => {
17+
setTimeout(() => {
18+
throw e;
19+
});
20+
})
21+
: setTimeout;
2422

25-
export default queueMicrotaskPolyfill;
23+
export default queueMicrotaskImpl;

0 commit comments

Comments
 (0)