mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-23 01:58:29 +00:00
Delay in domain-task Promise Resolution when Server Side Rendering #30
Closed
opened 2025-08-09 17:14:44 +00:00 by fergalmoran
·
0 comments
No Branch/Tag Specified
master
rybrande/masterToSrc
pakrym/no-console-fb
release/2.2
pakrym/remove-obsole-api-usage
maestro/release/2.2
maestro/master
release/2.1
release/2.0
rybrande/MergeRelease21IntoDev
rel/2.0.0-extensions
angular-animations-example
fix-angular-material-publishing
rel/2.0.0-templates
httpwithstatetransfer-example
rel/2.0.0-preview2-templates
aspnet-webpack-react-2.x
angular4-prerender-data-example
version-1.x
angular2-lazy-loading-example
581-isomorphic-react-cookies-example
example-using-typescript-paths-for-494
v1.0.x
angular2-materialize-example
redux-typed-1-x
primeng-example
font-awesome-example
karma-testing-example
2.2.0
2.2.0-preview3
2.2.0-preview2
2.2.0-preview1
2.1.1
2.1.0
2.0.4
2.1.0-rc1-final
2.1.0-preview2-final
2.0.3
2.1.0-preview1-final
2.0.2
2.0.1
rel/2.0.0
rel/2.0.0-preview2
Labels
Clear labels
2 - Working
2 - Working
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
3 - Done
angular
angular
angular
angular
angular
bug
bug
bug
bug
bug
bug
bug
bug
bug
core
core
core
core
core
core
core
duplicate
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
enhancement
external
external
P1
P1
P1
P1
P1
P1
P2
P2
P2
P2
P2
P2
P2
P2
P2
PRI: 1 - Required
react
react
task
task
up-for-grabs
up-for-grabs
up-for-grabs
waiting
waiting
waiting
waiting
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
fergalmoran
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/JavaScriptServices#30
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @timothywisdom on 7/6/2018
Our React app is showing a consistent 4 secs to do server side rendering (SSR) on about 70% of initial requests for the app. SSR in our app waits for two promises to resolve before it performs the final render of the app. The promises are React-Loadable (to fetch all the code-split async components) and domain-task (to fetch all the async API data to populate those components).
We call renderToString 3 times in this process (in boot-server.tsx):
I've traced the 4 sec delay to the domain-task promise (for reference, it's the
params.domainTasks.then()call in boot-server.tsx of the default app). I have also measured the time for each API data call on the server and they are negligible: 10ms-100ms. There are not enough API calls in a single domain-task promise to account for 4 seconds.I have read that renderToString is blocking and that the Node process does nothing else until this is complete. I have also verified that there is exactly one Node process on each .Netcore web server (or at least the PID of the Node Process doing the SSR is the same per web server).
I cannot figure out what is causing the 4 second delay. It feels like something is blocked and some 4sec timer kicks in to move things forward. Has anyone experienced this with SSR? Does anyone have any leads on how I can investigate this further? Is it possible to have .Netcore spin up more Node processes, instead of just using one?