首页 > 解决方案 > 获取调用导致 net::ERR_CONNECTION_REFUSED,出现错误时如何获取另一台服务器

问题描述

我正在用 javascript 开发一个应用程序,它要求我在主服务器关闭时对辅助服务器进行 fetch 调用。为了让应用程序获取辅助服务器,我已经关闭了主服务器。我第一次尝试的 fetch 调用看起来像这样。

try {
    fetch(`https://server1`)
        .then(response => {
            if (!response.ok) {
                fetch(`https://server2`)
                    .then(response => {
                        return response.text();
                    })
            }
            return response.text();
        })
} catch (err) {

}

由于关闭服务器导致 net::ERR_CONNECTION_REFUSED 我在 catch 错误中没有任何反应。我还尝试添加一个标志变量并让它通过获取第一个服务器然后第二个作为标志值的结果运行:

var flag = false;

try {
    fetch(`https://server1`)
        .then(response => {
            if (response.ok) {
                flag = true;

            }

            return response.text();
        })
        .catch((err) => {
            flag = true;
        });

    if (!flag) {
        fetch(`https://server2`)
        .then(response => {
            if (response.ok) {
                flag = false;

            }
            return response.text();
        });
        
    }

}

任何提示表示赞赏。谢谢你。

标签: javascriptfetch

解决方案


推荐阅读