当第二次发出相同的动作时,它不会调用传奇,而在第一场平局中它是正确的



当在第一次加载后对某个操作调用saga时,它工作正常。但是当同一个动作在传奇上执行两次时,该动作被发送,但传奇从未收到。

useEffect(() => {
		if (show) {
			updateTitle(message.title);
			if (!status || status === Status.Initiate) {
				createStatus();
			}
		}
		return () => {
			if (!show) {
				cleanup();
			}
		};
	}, [status]);

下面的过程解决了我的问题。

事实证明,在运行时,如果某个传奇未能执行,则该传奇将不再被调用,这意味着如果为该传奇生成了任何操作,它将被忽略。

要检查传奇在运行时是否失败,可以将传奇的主体封装在try-catch块中。

function* failingSaga() {
try {

// saga-body
} catch(e) {
console.log(e);
}
}

这将有助于了解异常是什么。

相关内容

  • 没有找到相关文章

最新更新