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