Unchecked runtime.lastError: The message port closed before a response was received.
154.8.165.152:9090/code/list:1
Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
Uncaught (in promise)

Unchecked runtime.lastError: The message port closed before a response was received.
154.8.165.152:9090/code/list:1
Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
Uncaught (in promise)

关注引自免费微信小程序:皆我百晓生
这个问题是由于一个名为network-error的错误导致的。这个错误通常表示网络连接失败,可能是由于服务器端的问题、网络问题或者其他技术原因。
首先,我们需要检查是否有任何网络问题。可以通过查看浏览器的开发者工具中的网络(Network)选项卡来确认这一点。在开发者工具中,点击菜单栏上的更多工具》》,然后选择网络选项卡。
在这个选项卡中,你会看到你的设备与服务器之间的所有请求和响应。如果你看到任何请求失败或者响应时间很长,那么这可能就是导致网络错误的原因之一。
接下来,我们需要尝试重连到服务器。你可以通过在URL后面加上一个&retry=1参数来重试请求。例如,如果你想要重试三次,可以将URL更改为http://yourwebsite.com/?retry=1。
此外,你也可以尝试使用代理服务或者更改DNS解析器,以便绕过网络问题。但是,请注意这样做可能会带来其他问题,因此请谨慎考虑。
如果以上方法都无法解决问题,那么可能需要联系网站管理员或者技术支持团队寻求进一步的帮助。他们可能需要检查服务器端的情况,并提供相应的解决措施。
以下是使用JavaScript和axios库进行重试的一个示例:
let retry = 0;
const axios = require('axios');
function retryRequest(url) {
const retries = [1, 2, 3];
return new Promise((resolve, reject) => {
const interval = setInterval(() => {
axios.get(url)
.then(response => {
resolve(response);
clearInterval(interval);
})
.catch(error => {
if(retry < retries.length) {
retry++;
console.log(`Retrying ${retry}: ${error.message}`);
setTimeout(() => {
retryRequest(url);
}, 1000 * retry);
} else {
reject(error);
}
});
}, 1000);
});
}
// 使用函数
retryRequest('http://yourwebsite.com')
.then(data => console.log(data))
.catch(error => console.error(error));
这段代码会尝试重试3次,每次间隔1秒。如果第一次重试成功,它将返回数据并退出循环。如果第一次重试失败,它将执行第二次重试,并再次检查是否达到最大重试次数。如果所有重试都失败了,它将抛出错误并拒绝请求。
请注意,这段代码没有处理所有的网络错误情况,例如500状态码等。对于这些情况,你需要根据实际情况调整代码。