2016-07-22 56 views
2

通常調用異步API來抓取頁面依賴於數據的時候,我想:頁面呈現依賴於異步調用

  1. 從客戶服務立HTML
  2. 使用AJAX來獲取數據
  3. 展當如果我想呈現的頁面上的所有HTML的數據是可用的

某種加載文本/動畫如有必要

  • 的呈現內容負載,但是,有沒有什麼好的理由不只是從服務器(僞代碼)做:

    app.get('/', function(req, res) { 
        _apiService.getData() 
        .then(function(data) { 
         //build html from template or whatever using data 
         res.send(html); 
        }) 
        .catch(function(err) { 
         res.send(errorPage); 
        }); 
    }); 
    

    在更傳統的,同步的風格,得到的數據則返回的東西呢?

    很顯然,沒有花哨的加載圖標,而是時間在等待頁面加載,但你會得到完全呈現的HTML和簡單的回報。

    *問題假設異步API的要求

  • +1

    問題是什麼?個人喜好,技術限制,還有其他什麼? – Amit

    +1

    你會失去加載(或重新加載)單個塊的優勢,並且感知的加載時間會更長。 –

    +0

    @Amit技術限制 – aw04

    回答

    1

    這取決於你服務什麼樣的數據。

    如果您正在提供頻繁更改的數據(比用戶重新加載頁面的頻率更高),那麼AJAX是一個理想的解決方案。

    例如,社交媒體數據:用戶可能會發布一些內容,而其他用戶正在等待查看它。因此,理想情況下,您的應用程序會盡快檢索該數據。

    否則,從後端加載它是一個更簡單的選擇,尤其是對於像博客文章這樣的數據:新的博客文章不會在每隔幾分鐘內發佈,而少量用戶將在頁面變爲可用的,所以你的應用程序不需要在它可用時立即加載它。

    +0

    是的,我接受,這對於可能需要/抓取的數據沒有任何作用在頁面加載 – aw04

    +0

    @ aw04之後,我的回答對你有幫助嗎?你在找什麼? – Polyov

    +0

    它呢,謝謝。我想保持開放一段時間收集儘可能多的想法,我會接受的東西:) – aw04