通常在调用异步api来获取页面依赖的数据时,我会:
但是,如果我想在页面加载时呈现所有html,那么有没有什么好的理由不仅仅是从服务器上做(psuedo-code):
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和简单回报。
*问题假设需要async api
答案 0 :(得分:1)
这取决于您所服务的数据类型。
如果您提供经常更改的数据(比用户重新加载页面更频繁),AJAX是一个理想的解决方案。
例如,社交媒体数据:用户可能会在其他用户等待查看时发布内容。因此,理想情况下,您的应用程序会在可用时立即检索该数据。
否则,从后端加载它是一个更简单的选项,特别是对于像博客文章这样的数据:新的博客帖子不会每隔几分钟就会出现,而少数用户会在一个人变得可用时打开页面,因此您的应用程序无需在可用时立即加载它。