当前位置:网站首页 > 数据科学与大数据 > 正文

JavaScript技术总结9:轮询数据

如果需要持续检查数据更新,但系统中没有 WebSocket,则可以使用这个工具来执行操作。它非常适合上传文件时,想要持续检查文件是否已完成处理的情况,或者使用第三方 API(例如 dropbox 或 uber)并且想要持续检查过程是否完成或骑手是否到达目的地的情况。

async function poll(fn, validate, interval = 2500) { const resolver = async (resolve, reject) => { try { // catch any error thrown by the "fn" function const result = await fn(); // fn does not need to be asynchronous or return promise // call validator to see if the data is at the state to stop the polling const valid = validate(result); if (valid === true) { resolve(result); } else if (valid === false) { setTimeout(resolver, interval, resolve, reject); } // if validator returns anything other than "true" or "false" it stops polling } catch (e) { reject(e); } }; return new Promise(resolver); }

 

到此这篇JavaScript技术总结9:轮询数据的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • js基础-(一)-基本数据类型2024-11-29 18:00:06
  • vuex实例方法replaceState解决vuex页面刷新数据丢失问题2024-11-29 18:00:06
  • 响应式数据2024-11-29 18:00:06
  • 《第一行代码》 第六章:数据库与存储方案2024-11-29 18:00:06
  • 《第一行代码》 第七章:跨程序共享数据-内容提供器2024-11-29 18:00:06
  • cesium实时更新数据实现实体运功2024-11-29 18:00:06
  • Ceisum实时获取后台数据 实时更新实体位置信息且实现实体转向功能2024-11-29 18:00:06
  • 2.typeScript中的数据类型2024-11-29 18:00:06
  • Ceisum实时获取后台数据 实时更新实体位置信息2024-11-29 18:00:06
  • VUE数据更新滚动条定位在最底部 视图展示最新几条数据2024-11-29 18:00:06
  • 全屏图片