Redux RxJS-ajax.delete会一直重试,直到在delete请求正常时,observable失败

Redux RxJS-ajax.delete会一直重试,直到在delete请求正常时,observable失败,redux,rxjs,rxjs5,redux-observable,rxjs-dom,Redux,Rxjs,Rxjs5,Redux Observable,Rxjs Dom,我在ajax.delete方面遇到了一些问题。我正在运行下面的代码,其中执行了来自ajax的DELETE请求,如果第一个请求失败,它将继续重试,直到请求成功 let RetryStrategy = attempts => attempts .zip(Observable.range(1, 4)) .flatMap(([error, i]) => { if (i > 3) { return Observable.throw(

我在
ajax.delete方面遇到了一些问题。我正在运行下面的代码,其中执行了来自
ajax
DELETE请求,如果第一个请求失败,它将继续重试,直到请求成功

let RetryStrategy = attempts => attempts
    .zip(Observable.range(1, 4))
    .flatMap(([error, i]) => {
        if (i > 3) {
            return Observable.throw('Network error occured')
        }
        return Observable.timer(i * 1000)
    })

export const deleteSurveyQuestionEpic = (action$, {getState, dispatch}) =>
    action$.ofType('MY_ACTION')
        .switchMap(
            action => ajax.delete(`myURL`)
                .map(res => res.response)
                .flatMap(response => {
                    console.log(response) // <-- returns null
                    return arrayRemove('formName', 'questions', 1) // <-- redux-form action-creator
                })
                .retryWhen(RetryStrategy)
                .takeUntil(action$.ofType('MY_CANCEL_ACTION'))
                .catch((e) => {
                    return Observable.of(
                        errorSurvey((e.xhr && `Error ${e.xhr.statusText}: ${e.xhr.statusText}`) || 'Network error occured')
                    )
                })
        )

我还实现了一个简单的RxJS过程,没有redux可观察的实现。此示例包含调用多个redux操作创建者的情况

您能说明
.catch()
接收的错误对象是什么样子的吗?您接收到的错误是什么?(错误的
消息
属性)。控制台中也有错误吗?我刚刚更新了描述。这是一个愚蠢的问题(我是RXJS领域的新手)。您可以找到一个简单的实现。您可以展示
.catch()
接收的错误对象是什么样子的吗?您接收到的错误是什么?(错误的
消息
属性)。控制台中也有错误吗?我刚刚更新了描述。这是一个愚蠢的问题(我是RXJS领域的新手)。您可以找到一个简单的实现
.flatMap(response => {
    console.log(response) // <-- returns null
    // An Observable needs to be returned instead of redux action creator
    return arrayRemove('formName', 'questions', 1) 
})