我刚刚将Angular 5应用程序迁移到Angular 6,并且创建了一个全新的组件,我对此有疑问。我的应用已配置SSR
,可以看到渲染正常。
我的新组件在ngOnInit
上执行以下操作:
isPlatformBrowser
要订阅window.resize
事件如果我导航至主页www.website.com
,然后导航至上述的角度组件,则一切正常。假设路线为www.website.com/myComponent
。
但是,如果我打开新的浏览器并执行www.website.com/myComponent
,则应用程序将挂起。最终,网络服务器返回504,但是API(我进行HTTP调用的地方)没有被点击,我可以在应用程序的日志中看到:Http failure response for (unknown url): 0 Unknown Error
我正在研究可能的情况,并将OnInit组件与另一个执行类似操作的组件进行了比较。区别在于,被调用的HTTP也封装在isPlatformBrowser代码内。
我的问题是:从现在开始,是否需要将所有HTTP调用都包装在isPlatformBrowser中以用于SSR?可能是其他情况发生了,例如某个地方的错误无法正确解决平台浏览器的问题,并且由于这是异步代码(正在等待Promise)而中断了HTTP调用或使其处于错误状态?
我的Angular版本是6.1.0 SSR 6.0.0