Проверьте, загружена ли другая веб-страница в React JS, чтобы перенаправить ее позже

#javascript #reactjs #redirect #fetch #load

Вопрос:

Поэтому я перенаправляю пользователей на динамические IP-адреса в React, IP-адреса генерируются серверными серверами и работают просто отлично!

Проблема здесь в том, что для загрузки серверов требуется время, и когда пользователь перенаправляется в эту конкретную комнату, в течение следующих 10-15 секунд отображается ошибка 404 «Не найдено», и если вы обновите страницу после этого определенного времени, страница будет загружена.

Я попытался добавить запрос на извлечение в URL-адрес, и как только он вернет статус 200, я остановлю счетчик и перенаправлю на этот URL-адрес, но статус никогда не показывает 200.

 let res = await fetch(`http://${ipAddress}`, {'mode': 'no-cors'});
while(res.status === 0) {
    await new Promise(resolve => setTimeout(resolve, 1000));
    res = await fetch(`http://${ipAddress}`, {'mode': 'no-cors'});
}
if(res.status === 200) {
   setSpinner(false);
   window.open(`http://${ipAddress}`);
}
 

Есть ли какой-нибудь способ решить эту проблему?

Редактировать:

Когда я консольно регистрирую переменную res в цикле while:

 body: null
bodyUsed: false
headers: Headers
    __proto__: Headers
ok: false
redirected: false
status: 0
statusText: ""
type: "opaque"
url: ""
 

Комментарии:

1. вы проверили, что получаете только статус 0 и 200

2. @Dalvik Я получаю только статус 0