2
我想添加重试逻辑到我的JavaScript HTTP服务,它在内部使用Axios并返回承诺。目标是重试读取/发布,直到超过解析或重试限制。我想出了这个草案(不工作,因为它是)如何做递归承诺
fetchSomething(numRetry) {
if (!numRetry)
numRetry = 0
return new Promise(function(resolve, reject) {
axios.get('/services/rest/vopa/sanomaloki/virheet')
.then(response => resolve(response))
.catch(response => {
if (numRetry > FETCH_RETRY_LIMIT)
reject(response)
else
return fetchSomething(numRetry + 1)
})
});
}
据我所知,呼吁fetchSomething在抓创建新的决心和拒绝的功能,但我想它来解决或拒绝当初的诺言
return fetchSomething(numRetry ++) – degr
认为更好地调用您的函数内部的'拒绝'回调,在一个抽象级别更高 – degr