我用promise填充数组,然后我用promise.all进行检查。
const startReloading = () => {
const getNewFeeds = state.feedData.map(el => axios.get(el.feedURL, {
headers: { 'Access-Control-Allow-Origin': '*' },
}).then(({ data }) => {
//some actions
if (newUpdateTime !== el.lastUpdate) {
//some if handling
return {
listIndex, updatedFeedData, updatedList, dataIndex,
};
}
return null;
}).catch(err => err));
Promise.all(getNewFeeds).then((response) => {
//then handling
setTimeout(startReloading, 5000);
}).catch((err) => {
console.log('An error occured', err)
setTimeout(startReloading, 5000);
});
};
有人告诉我catch(err => err));
部分是一种不好的做法,如果发生错误,则下一个捕获将永远无法工作。那应该怎么样?