错误时重试相同的http POST请求

时间:2016-10-07 13:16:19

标签: angular

更新

我有这个拦截拦截我的POST请求,当该请求获得错误状态401时,如何重试相同的请求?我如何等待getTicket的响应返回Observable.throw(错误)?

UPDATE2

return observable.retryWhen((errors) => {
        return errors
            .mergeMap((error) => {
                if (error.status === 401) {
                    this.getTicket().subscribe((res) => {
                        this.TICKET = res.json().data.ticket
                    })
                    return Observable.of(true)
                }else{
                    return Observable.throw(error)
                }
            })
            .delay(1000)
            .take(2);
    })

0 个答案:

没有答案