【发布时间】:2016-08-25 09:00:16
【问题描述】:
我有一个在控制器初始化时调用的函数,该控制器调用$http.get 服务(承诺)。这个承诺从 web 服务中检索项目列表。我在列表分页的属性上也有一个$watch。
我的问题是我在$watch 中所做的事情取决于承诺($watch 没有关注它,列表只加载一次)。所以在加载页面时,webservice被调用,然后$watch(在列表初始化之前),然后我得到了我的承诺的回报。所以 $watch 中发生的事情不是正确的行为。
有没有办法让$watch 等待承诺返回?
【问题讨论】:
-
将
$watch表达式放入.then或.done(无论您使用哪个)。你的问题太抽象了。如果我能看到代码,也许我能提供帮助。 -
您可以在
function中拥有一个手表,并在您的承诺完成时调用该函数,以便它可以注册。 -
那行得通,对不起这个愚蠢的问题,我不知道为什么我以前没有尝试过。谢谢你们俩
标签: javascript angularjs promise angular-promise watch