在这个通过Angular Universal控制SSR的旅程中,我每天都会在工作日结束,面对新的问题,这些问题一直阻止我的SPA被搜索引擎正确编入索引 .

我在同一版本中使用Angular 5.2.11和所有依赖项 . 此外,我正在使用传输状态模块来阻止浏览器应用程序中的其他http调用 .

我注意到的问题是,当我执行检索结果数组的http get / post请求时,我将此数组分配给组件变量,以使用* ngFor指令呈现为列表,服务器将此列表不完整 . 每次重新加载页面时,渲染结果的数量是随机的,从几乎3到小于整个数组长度 .

这很糟糕,因为谷歌不会知道我现有的所有网址,因为在每次尝试时都会看到一个不完整的,随机数量的结果列表 .

我在ngOnInit中发出此请求并从服务中调用它,在组件中订阅它并在收到成功响应时将响应分配给组件变量 .

据我所知,Angular Universal中的* ngFor应该等待所有异步调用完成 . 我没有使用带有Observable的异步管道,因为我需要在我的应用程序架构中手动触发此请求,但我已经测试了这种方法,它也无法工作 .

有谁知道如何使通用服务器应用程序始终从http异步调用呈现完整列表?

谢谢!