2017-02-07 57 views
-2

案例:用户从我的网站上的美国航空公司购买机票。处理订单需要一个小时,之后我需要显示一个导航选项卡。在没有硬刷新的情况下加载数据

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

我正在使用AngularJS,Express,NodeJS。

更新:

  1. 我想过使用的setTimeout(FN,延迟)启动计时器,然后我们可以使用clearInterval(ID)的请求成功之后将其关闭。但是,浏览器异步执行单个线程,因此不能保证定时器延迟。另外:

    • 如果用户让电脑进入睡眠状态,setTimeout将会冻结。
    • 如果用户切换选项卡,setTimeout函数变得不准确。
    • setTimeout行为在不同的浏览器中可能会有所不同。
  2. 我也考虑对节点的cron,但我仍然需要自动进行节点调用,因为导航控制器上加载应用程序启动。这意味着用户仍然必须进行硬刷新以查看导航选项卡。

  3. 有没有办法使用浏览器缓存来做到这一点?

+1

您可以使用JavaScript函数setTimeout。但是很可能你的用户在一个小时过去之前会关闭浏览器。 – Jesse

回答

0

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

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

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