AngularJS - 需要同步调用的视图的重要数据

时间:2014-09-16 07:18:27

标签: javascript ajax angularjs asynchronous promise

假设我想构建一个类似Facebook墙的页面。

我想在页面顶部添加一个按钮,与Facebook一样,这表示我们正在查看的当前用户是否是我们的朋友(在这种情况下,按钮将显示"朋友") ,或者我们正在查看的用户不是我们的朋友(在这种情况下,按钮会显示"添加朋友")。

我必须在页面加载时显示此按钮以及相应的文字("朋友"或"添加朋友"),我不能等待太多,否则用户可能会在页面加载后几秒钟看到此按钮。当您查看Facebook墙壁时,您从未看到此按钮在页面加载后几秒钟显示,但在加载时立即显示 - 我想要相同的功能。

如何在不使用同步调用的情况下确保按钮显示为页面加载(而不是几秒钟后)?似乎承诺和其他技术可能会在页面加载之前从服务器获得足够快的数据,但我可以肯定地相信它吗?如果服务器太慢并且数据库查询不能足够快地完成会发生什么?

只是为了确保我们在同一条线上,文本"朋友"或者"添加朋友"由对服务器的http调用确定,等待查询完成,然后将值返回给客户端(通过回调)。

谢谢,

SynD

1 个答案:

答案 0 :(得分:0)

如果您在页面加载时需要立即获得某些数据,请在HTML输出中呈现<script>块并将数据放入全局变量中,然后您可以在Angular代码中访问该变量。