加载数据而不进行硬刷新

时间:2017-02-07 01:44:48

标签: javascript angularjs node.js

案例:用户在我的网站上从美国航空公司购买机票。订单处理需要一个小时,之后我需要显示导航选项卡。

问题:我不希望用户刷新页面来加载数据。在用户购票后一小时内是否有可能触发API调用的内容?

我正在使用AngularJS,Express,NodeJS。

更新:

  1. 我考虑过使用setTimeout(fn,delay)来启动计时器,然后在请求成功后使用clearInterval(id)来关闭它。但是,浏览器异步执行单个线程,因此无法保证定时器延迟。另外:

    • 如果用户将计算机置于睡眠状态,则setTimeout将冻结。
    • 如果用户切换了tab,则setTimeout函数将变得不准确。
    • 不同浏览器中的setTimeout行为可能有所不同。
  2. 我也考虑了node-cron,但我仍然需要自动进行节点调用,因为导航控制器是在app start上加载的。这意味着用户仍然需要进行硬刷新以查看导航选项卡。

  3. 有没有办法使用浏览器缓存来执行此操作?

1 个答案:

答案 0 :(得分:0)

使用javascript,您可以动态加载和更改数据。

例如,下面的代码将在每分钟和内部触发,您可以执行异步任务,例如调用http请求,以及动态更新值。

setInterval(function(){ 
//perform async task and get new value
document.getElementById('DOM').value = "NEW VALUE";
}, 60000);