【发布时间】:2017-10-19 08:48:13
【问题描述】:
我们正在开发 Angular(4) 应用程序,并且我们使用 cli 启用了服务工作者
一切都很好,除了我们有一个文件上传进度条卡在 0% 上,只有在完成后才会进入 100%。
我们怀疑这是因为服务工作者,因为我们在开发环境中看不到它。
据我了解,服务人员不应该处理帖子请求,这很奇怪。
我们使用常规的HttpClient。
如何解决这个问题?
编辑:
现在我确定这与服务人员有关,因为当我在应用程序选项卡中按下“绕过网络”时,它可以正常工作。
【问题讨论】:
-
伙计们,当您开始通话时,您的进度为 0%。并在通话结束时重新设置。尝试:
.subscribe(data =>{ this.data = data; // progress 50% this.someFunction() // progress 75% });完成 100% 时。 -
这正是我们所做的。这不适用于启用 AOT + 服务工作者
-
然后很快 ;) 你会在 0001 秒内看到 50%,然后在 0002 秒内看到 75%,在 0003 秒内看到 100%
-
不是这样的。我们正在上传 70mb 的文件,需要几分钟才能上传。我们只看到 0 和 100。两者之间什么都没有。如果我很难重新看到它,那么它一定是服务人员。
-
我的想法是倒计时 在订阅之外将它设置为几毫秒或任何时间。每次时间结束检查
if(this.data === undefined) { //progress } else { //unsubscribe }。