2017-02-07 60 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); 
相關問題