Почему React Lazy Load Import Retry не работает в IE?
У меня возникла ситуация, когда я хочу инициировать повторную попытку использования ресурсов, таких как chunk.js, после развертывания, если это не удалось, чтобы пользователь не видел пустой экран. Для чего я и сделал:
export const retry = (fn, retriesLeft = 5, interval = 1000) => new Promise((resolve, reject) => {
fn()
.then(resolve)
.catch((error) => {
if (retriesLeft === 0) {
// reject('maximum retries exceeded');
reject(error);
return;
}
setTimeout(() => {
// Passing on "reject" is the important part
retry(fn, retriesLeft - 1, interval).then(resolve, reject);
}, interval);
});
});
const SomeComponent = React.lazy(() => retry(() => import('someComponent')));
Теперь это отлично работает с Chrome, когда какой-либо из chunk.js не загружается, поскольку он ударяется 5 раз (заблокируйте любой вызов chunk.js из Dev Tool, чтобы наблюдать за поведением локально)
Но с IE 11 повторная попытка вообще не выполняется. Просветите пожалуйста, почему так себя ведет.