2016-07-22 55 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