小编Llo*_*nes的帖子

如何使用Redux Thunk处理fetch()响应中的错误?

我正在使用isomorphic fetch创建API请求,并使用Redux来处理我的应用程序的状态.

我想通过触发Redux操作来处理互联网连接丢失错误和API错误.

我有以下(工作进行中/坏)代码,但无法找出触发Redux操作的正确方法(而不是仅抛出错误并停止所有操作):

export function createPost(data = {}) {

    return dispatch => {

        dispatch(requestCreatePost(data))

        return fetch(API_URL + data.type, {
            credentials: 'same-origin',
            method: 'post',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'X-WP-Nonce': API.nonce
            },
            body: JSON.stringify(Object.assign({}, data, {status: 'publish'}))
        }).catch((err) => {

            //HANDLE WHEN HTTP ISN'T EVEN WORKING
            return dispatch => Promise.all([
                dispatch({type: PRE_FETCH_RESOURCES_FAIL, errorType: 'fatal', message:'Error fetching resources', id: h.uniqueId()}),
                dispatch({type: PRE_CREATE_API_ENTITY_ERROR, errorType: 'fatal', id: h.uniqueId(), message: 'Entity error before creating'})
            ])
        }).then((req) => {

            //HANDLE RESPONSES THAT CONSTITUTE AN …
Run Code Online (Sandbox Code Playgroud)

javascript fetch redux

18
推荐指数
1
解决办法
2万
查看次数

标签 统计

fetch ×1

javascript ×1

redux ×1