Skip to content

Commit 62926c1

Browse files
authored
feat: support queueMicroTask on the server side of SSR (#3873)
1 parent d594eb0 commit 62926c1

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
function assertQueueMicroTask() {
2+
if (typeof queueMicrotask !== 'function') {
3+
throw Error('not support queueMicrotask in this environment');
4+
}
5+
}
6+
7+
export function assert() {
8+
assertQueueMicroTask();
9+
}

e2e/cases/server/ssr/src/index.server.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import React from 'react';
22
import ReactDOMServer from 'react-dom/server';
33
import App from './App';
4+
import { assert } from './assert.server';
45

56
// test dynamic import
67
import('./test');
78

9+
// assert environment
10+
assert();
11+
812
export function render() {
913
return ReactDOMServer.renderToString(
1014
<React.StrictMode>

packages/core/src/server/runner/cjs.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export class CommonJsRunner extends BasicRunner {
2929
return timeout;
3030
}) as typeof setTimeout,
3131
clearTimeout: clearTimeout,
32+
queueMicrotask,
3233
};
3334
}
3435

@@ -43,6 +44,7 @@ export class CommonJsRunner extends BasicRunner {
4344
});
4445
return m;
4546
},
47+
queueMicrotask,
4648
};
4749
return baseModuleScope;
4850
}

0 commit comments

Comments
 (0)