问题描述
在我的应用程序中,安装根组件后,我会获取一本书籍清单。之后,它必须自动选择列表的第一本书并获取其章节列表。然后,自动选择第一章并显示其详细信息。初始加载后,用户可以选择当前书籍中的另一本书或章节。
假设我获取图书清单时出现网络问题或API响应不良。中止其余操作并仅显示通知消息的最佳方法是什么?我一直在使用这样的东西:
import requestChaptersList from './chapterSlice'
// ...
const requestBooksList = createAsyncThunk(`${sliceName}/requestList`,async () => {
return await api.books()
}
export const requestBooksListAndChapter = () => async (dispatch) => {
await dispatch(requestBooksList())
.then(unwrapResult)
.then((res) => {
dispatch(selectFirstBook())
dispatch(requestChaptersList())
})
.catch((error) => {
dispatch(notifyError(error))
})
}
// ...
问题是:
-
unwrapResult
创建原始错误的序列化版本。但是我的notifyError
(理想情况下)应该得到一个Error对象或一个子类。 -
在没有
unwrapResult
的情况下,运行requestBooksList
的拒绝减少程序,但是.then
ppart正常继续。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)