使用React&Redux和Redux-Thunk,尝试制作这个伪代码:
// pseudocode
dispatch(makeServiceRequest)
if failed
dispatch(makeIdentityRequest)
if successful
dispatch(makeServiceRequest)
end
end
想要避免在代码放在 makeServiceRequest
的 .catch
块内时会发生的无限循环 .
我在调度操作中使用 fetch(url).then(...).catch(...)
逻辑 . fetch
does not reject on HTTP status errors .
如何使这个伪代码发生?处理这种情况的正确模式是什么?
1 回答
只需要一个检查HTTP状态的
then
,如果它不是成功状态就会抛出错误,就像在链接中所说的那样:除此之外,我不清楚你的Redux特定问题是什么 .
编辑:根据您的评论,我认为您正在询问如何管理Redux操作,这些操作在调度时可以异步调度其他操作 . 建模的一种方法是"saga" . 有一个名为redux-saga的Redux库,可以让你模拟这类东西 .