Closed breezewish closed 7 years ago
Hi, I'm using approaches like this to resolve multiple promises. However I got RLS() access outside of request! in getTitle() when I'm trying to respond title with the value from one of the promise.
RLS() access outside of request!
getTitle()
getTitle() { return this.userPromise.then(data => `${data.body.length} users`); }
the promise is assigned in handleRoute:
handleRoute
handleRoute(next) { .... this.userPromise = API.user.all(); // which returns a Promise ... }
logs:
2017-03-29T16:58:16.546Z - debug: [react-server.core.renderMiddleware] Incoming request for / 2017-03-29T16:58:16.546Z - debug: [react-server.core.context.Navigator] Navigating to / 2017-03-29T16:58:16.547Z - debug: [react-server.core.context.Navigator] Mapped / to route Home 2017-03-29T16:58:16.547Z - debug: [react-server.core.util.PageUtil] Call setRequest 2017-03-29T16:58:16.548Z - debug: [react-server.core.util.PageUtil.PageConfig] Default "isFragment" => "false" 2017-03-29T16:58:16.548Z - debug: [react-server.core.util.PageUtil.PageConfig] Default "isRawResponse" => "false" 2017-03-29T16:58:16.548Z - debug: [react-server.core.util.PageUtil] Call addConfigValues 2017-03-29T16:58:16.549Z - debug: [react-server.core.util.PageUtil] Call setConfigValues 2017-03-29T16:58:16.549Z - debug: [react-server.core.util.PageUtil.PageConfig] Final isFragment=false, isRawResponse=false 2017-03-29T16:58:16.549Z - debug: [react-server.core.util.PageUtil] Call getRequest 2017-03-29T16:58:16.549Z - debug: [react-server.core.util.PageUtil] Call handleRoute 2017-03-29T16:58:16.549Z - debug: [react-server.core.ReactServerAgent.Cache] Getting ReactServerAgent request data cache entry for /Session/Current 2017-03-29T16:58:16.551Z - debug: [react-server.core.ReactServerAgent.Cache] Getting ReactServerAgent request data cache entry for /Users 2017-03-29T16:58:16.552Z - debug: [react-server.core.util.PageUtil] Call setStatus 2017-03-29T16:58:16.552Z - debug: [react-server.core.util.PageUtil] Call setHasDocument 2017-03-29T16:58:16.553Z - debug: [react-server.core.util.PageUtil] Call setJsBelowTheFold 2017-03-29T16:58:16.553Z - debug: [react-server.core.util.PageUtil] Call setSplitJsLoad 2017-03-29T16:58:16.553Z - debug: [react-server.core.renderMiddleware] Route Name: Home 2017-03-29T16:58:16.554Z - debug: [react-server.core.util.PageUtil] Call getStatus 2017-03-29T16:58:16.554Z - debug: [react-server.core.util.PageUtil] Call getHeaders 2017-03-29T16:58:16.554Z - fast: [react-server.core.renderMiddleware] lifecycle.individual.setHttpHeaders ms=1 2017-03-29T16:58:16.555Z - fast: [react-server.core.renderMiddleware] lifecycle.fromStart.setHttpHeaders ms=8 2017-03-29T16:58:16.556Z - debug: [react-server.core.util.PageUtil] Call getDebugComments 2017-03-29T16:58:16.556Z - debug: [react-server.core.util.PageUtil] Call getTitle 2017-03-29T16:58:16.556Z - debug: [react-server.core.util.PageUtil] Call getJsBelowTheFold 2017-03-29T16:58:16.556Z - debug: [react-server.core.util.PageUtil] Call getSystemScripts 2017-03-29T16:58:16.557Z - debug: [react-server.core.util.PageUtil] Call getScripts 2017-03-29T16:58:16.557Z - debug: [react-server.core.util.PageUtil] Call getSplitJsLoad 2017-03-29T16:58:16.557Z - debug: [react-server.core.util.PageUtil] Call getSplitJsLoad 2017-03-29T16:58:16.557Z - debug: [react-server.core.util.PageUtil] Call getHeadStylesheets 2017-03-29T16:58:16.558Z - debug: [react-server.core.util.PageUtil] Call getMetaTags 2017-03-29T16:58:16.558Z - debug: [react-server.core.util.PageUtil] Call getLinkTags 2017-03-29T16:58:16.558Z - debug: [react-server.core.util.PageUtil] Call getBase 2017-03-29T16:58:16.560Z - debug: [react-server.core.ReactServerAgent.Cache] Getting ReactServerAgent request data cache entry for /Users 2017-03-29T16:58:16.562Z - error: [react-server.core.renderMiddleware] Error in renderPage chain message=RLS() access outside of request!, stack=Error: RLS() access outside of request! at ......./node_modules/request-local-storage/lib/server/index.js:26:35 at getPlugins (......./node_modules/react-server/target/server/ReactServerAgent/ReactServerAgent/Plugins.js:37:10) at Request.responsePluginApplyingCallback (......./node_modules/react-server/target/server/ReactServerAgent/ReactServerAgent/Request.js:199:24) at Request.end (......./node_modules/react-server/target/server/ReactServerAgent/ReactServerAgent/Request.js:178:32) at Request.asPromise (......./node_modules/react-server/target/server/ReactServerAgent/ReactServerAgent/Request.js:325:7) at Request.then (......./node_modules/react-server/target/server/ReactServerAgent/ReactServerAgent/Request.js:313:21) at process._tickCallback (internal/process/next_tick.js:103:7)
it sends two requests, /Session/Current and /Users
/Session/Current
/Users
Strange.. After changing the order of then it worked.. :(
then
Hi, I'm using approaches like this to resolve multiple promises. However I got
RLS() access outside of request!
ingetTitle()
when I'm trying to respond title with the value from one of the promise.the promise is assigned in
handleRoute
:logs:
it sends two requests,
/Session/Current
and/Users