关于java:关于-SAP-Spartacus-CSR-fallback-之后是否仍然会继续进行-SSR-的处理

34次阅读

共计 635 个字符,预计需要花费 2 分钟才能阅读完成。

来自 nguniversal 的 express engine 渲染完了后,渲染结束的 HTML 源代码保留在 150 行代码 html 里,callback 就是 Spartacus 团队开发的 ssr optimization engine 的实现:

回调执行时,maxRenderTimeout 不为空,阐明 maxRenderTime 驱动的 setTimeout 尚未执行,这阐明 maxRenderTime 超时没有产生,因而不会执行到第 170 行。

先调用 callback 把 html 返回给申请端:

再保留到 cache 里:

上面测试直到 timeout 工夫达到,仍未开始 render,fallback 到 CSR 之后,是否还会在后盾将 SSR 执行结束。

让断点停在这里,期待 timeout 即 90 秒,一分半钟。

去做了一会家务回来,F8,果然 CSR fallback 了:

也看到了对应的 log:SSR rendering exceeded timeout 90000, fallbacking to CSR for /

如果此时 maxRenderTimeout 工夫也达到了,那么会执行上图绿色高亮代码,将 maxRenderTimeout 清空,而后咱们指定的 callback 会被调用到。

留神,在上图的上下文里,SSR 曾经胜利实现了,只是因为 maxRenderTimeout 曾经达到,因而渲染好的 HTML 被抛弃。如果 timeout 达到然而 maxRenderTimeout 没有达到,则渲染好的 HTML 会进一步失去解决。

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0