【发布时间】:2020-11-05 06:30:10
【问题描述】:
在我的 Ionic 网络应用中,
对于浏览器
我想实现一个取消下载功能,目前用户可以同时下载多个文件,所以我想取消特定的下载 HTTP 请求。
这是我目前拥有的。
@Effect()
public fileDownloadAction$: Observable<Action> = this.action$
.ofType(FileDownloadActionTypes.FILE_DOWNLOAD_REQUESTED)
.map(this.toPayload)
.mergeMap(payload => (this.downloadService.downloadFile(payload))
.concatMap((res: any) => {
return Observable.from([
new FileDownloadCompleted(downloadSuccess)
]);
})
)
但我不知道如何在效果中执行此操作。有什么建议? 在此先感谢:-)
【问题讨论】:
-
你有没有考虑过类似
downloadService.downloadFile(payload).pipe(takeUntil(stopDownload(payload)))的东西,stopDownload会生成一个 observable,当文件停止下载时会发出。 -
是的,我试过了,但它会停止所有文件下载请求。
标签: ionic3 angular5 ngrx ngrx-store ngrx-effects