我不清楚何时使用takeEvery以及何时使用takeLatest?在复古传奇里。
通过阅读官方文件,我得到了一个基本的区别。但是,在takeEvery中创建并发操作的用途是什么(例如,用户以快速的速度连续点击加载用户按钮2次,第二次单击将发出USER_REQUESTED,而对第一次单击的fetchUser尚未终止)
import { takeEvery } from `redux-saga/effects`
function* fetchUser(action) {
...
}
function* watchFetchUser() {
yield takeEvery('USER_REQUESTED', fetchUser)
}有谁能解释一下。因为我对复古传奇一无所知。
提前谢谢。
发布于 2020-05-24 11:10:28
这是每个用例都需要考虑的问题。
在这些情况下,您可以使用takeEvery。
takeLatest在这里也可以工作,但是当读取代码时,它可能会给出错误的指示,表明有什么东西需要取消。id。
在理想的实现中,您可能应该为同一个电影/id取消以前的load,但是这需要更复杂的代码,所以如果您只执行一些简单的应用程序,您可能会决定忽略它,只允许多次运行相同的电影。这就是我称之为“廉价实施”的原因。https://stackoverflow.com/questions/61984294
复制相似问题