angular 请为"@error"块提供对"错误"和"重试"选项的额外支持,

whhtz7ly  于 2个月前  发布在  Angular
关注(0)|答案(2)|浏览(49)

与功能请求相关的@angular/*包?

编译器,核心

描述

目前,@error块不支持任何选项,如果能支持两种用途会很好:

  1. 获取对错误本身的访问,以便能够参数化错误块内容
  2. 重试加载懒惰组件包文件失败的操作

建议的解决方案

@error (err; retry: 3) {  <p>Ooops {{err}}</p> }

// or even 
@error (err, retry: customRetryHandler)  {  <p>Ooops {{err}}</p> }

考虑过的替代方案

通过HTTP拦截器记录请求并尝试过滤出此懒加载过程的失败?

fjaof16o

fjaof16o1#

重试会很好,我建议添加一个选项来指定重试之间的等待时间。

tyu7yeag

tyu7yeag2#

据我所知,模块加载失败无法重试;对于延迟加载,使用常规的动态导入,并且没有API可以清除模块缓存(因此导致失败状态)。也许可以通过使用随机查询参数(尽管动态注入可能具有挑战性)或使用the upcoming with option中的随机标识符来规避这个问题(但我相信with中的每个选项都必须由目标平台支持,因此可能无法实现任意选项)。

相关问题