Redux-saga - 如何在动作调度上取消分叉进程

时间:2018-02-26 15:13:51

标签: redux redux-saga

我有一个跟随佐贺:

JsonConverter

负责上传和处理文件。在handleInteriorFileProcessing里面我有一个while循环,即检查文件处理进度等。我想取消分叉进程,当我们调度某个动作时 - 当用户更改页面时,在组件卸载时我想要停止进程。我知道取消效应是以一个过程为参数。有没有办法取消所有子流程?这里的正确语法是什么,取消handleInteriorFileProcessing进程,比如说CANCEL_BACKGROUND_JOB。我是一个Saga初学者,无法找到一种方法来取消一个负责分配像这里的一些任务的传奇的过程。 祝福。

1 个答案:

答案 0 :(得分:1)

最简单的可能就是

takeLatest([wizardActionTypes.INTERIOR_FILE_PROCESSING, CANCEL_BACKGROUND_JOB], handleInteriorFileProcessing)

并检查你的功能内部究竟发生了什么。 这是有效的,因为takeLatest取消了从该语句中运行的任务。

取消事情的另一种方法是使用race效果,取消所有“失败者”。