asynchawaitping()functionsetInterval().Howtomakeitsmart?
创始人
2024-09-21 03:30:44
0

一个可能的方法是结合Promise和setTimeout来实现一个具有自动重试功能的ping函数。具体步骤如下:

  1. 创建一个promise实例,它将在ping成功时resolve,失败时reject。
  2. 通过setTimeout实现一个延迟retryDelay的超时函数。
  3. 使用async和await来等待ping结果,并捕获任何可能的错误。
  4. 如果ping成功,则用resolve函数解析promise实例。否则,在retryDelay时间后再次尝试ping。
  5. 使用setInterval设置定时器,在一段时间后调用上述ping函数。

以下是代码示例:

function ping() {
  return new Promise(async (resolve, reject) => {
    const url = 'https://example.com';
    const options = {timeout: 5000};
    const retryDelay = 10000;
    let success = false;

    while (!success) {
      try {
        await fetch(url, options);
        success = true;
        resolve();
      } catch (e) {
        setTimeout(() => {}, retryDelay);
      }
    }
  });
}

setInterval(() => {
  ping()
    .then(() => {
      console.log('Ping successful');
    })
    .catch(() => {
      console.log('Ping failed');
    });
}, 60000);

相关内容

热门资讯

最新技巧“老友内蒙麻将有挂吗”... 老友内蒙麻将有挂吗是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我...
1.9分钟了解“茶馆辅助软件”... 1.9分钟了解“茶馆辅助软件”开挂(透视)辅助下载靠谱教程(有挂方式)1、下载安装好茶馆辅助软件,进...
重大推荐“wepoker有辅助... 重大推荐“wepoker有辅助插件吗”开挂(透视)辅助工具系统教程(证实有挂)【无需打开直接搜索加薇...
玩家必看攻略“芒果辅助器安卓版... 芒果辅助器安卓版 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1...
重大发现“椰岛常胜辅助器”开挂... 重大发现“椰岛常胜辅助器”开挂(透视)辅助平台靠谱教程(真是有挂)>>您好:软件加136704302...
盘点一款“五十k辅助”开挂(透... 大家好,今天小编来为大家解答五十k辅助这个问题咨询软件客服可以免费测试直接加微信(136704302...
分享一款“极速官方游戏暗堡辅助... 分享一款“极速官方游戏暗堡辅助器”开挂(透视)辅助脚本黑科技教程(有挂教学)【无需打开直接搜索加薇1...
玩家必备科普“微信小程序四川微... 微信小程序四川微乐脚本开挂教程视频分享装挂详细步骤在当今的网络游戏中,微信小程序四川微乐脚本作为一种...
来一盘“掌中乐游戏辅助器”开挂... 来一盘“掌中乐游戏辅助器”开挂(透视)辅助安装必备教程(有挂方法)1、下载安装好掌中乐游戏辅助器,进...
推荐一款“逸趣麻将修改器”开挂... 推荐一款“逸趣麻将修改器”开挂(透视)辅助插件分享教程(有挂详细) 了解更多开挂安装加(136704...