mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-22 17:47:53 +00:00
Issue with domain tasks while doing server prerendering #1263
Closed
opened 2025-08-09 17:19:28 +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#1263
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 @LovedByTheLord on 11/15/2016
Hi,
I have a component that calls three action creators in componentWillMount. Each of these makes a call to an API to get data.
I want all of these calls to be completed on the server when the page is first loaded. However, it seems that the prerendering is completing before requestCompanies is completed.
The action creator for requestCompanies looks like this:
The reducers:
The problem is that "window.initialReduxState" does not have the final result of the API call. It has the "is loading" state that exists while the app is waiting on the server call to complete.
window.initialReduxState = {"companyProducts":{"error":"","companyProducts":[{"companyProductUrlInt":4,"companyInt":30,"productInt":1,"url":"http://blah/"},{"companyProductUrlInt":1,"companyInt":30,"productInt":3,"url":"http://blah2/"},{"companyProductUrlInt":5,"companyInt":2409,"productInt":1,"url":"blah3/?q=Thisisatest"}],"isLoading":false},"companies":{"isLoading":true,"error":"","companies":[]},"products":{"error":"","products":[{"productInt":1,"name":"Product 1","code":"wot"},{"productInt":3,"name":"Product 2","code":"won"}],"isLoading":false},"routing":{"locationBeforeTransitions":null}};
This causes the API to be called again from the browser. I set a breakpoint in the API endpoint and it does get hit during the prerendering. Twice, in fact, and I can't figure out why it gets called twice. Once in a blue moon, the initial state will contain the companies list as expected. The company list is quite large (2000+ records). I'm wondering if there is a timing thing going on.
I added a Task.Delay to the API endpoint that gets called by
this.props.requestProducts(). In that case the companies list was properly added to the initial state.I'm at a loss as to how to test this further because I don't know how to debug the javascript that gets called by node during prerendering.
Any ideas what might be happening or how I can debug the node process to see what it's doing?