角度承诺和消化周期

时间:2016-11-29 19:56:28

标签: javascript angularjs angular-promise

我从这篇文章中了解到,有角度解决的承诺无法执行他们的'然后'功能直到下一个摘要周期: Angular JS: Chaining promises and the digest cycle

原始问题的代码在http://jsfiddle.net/QZM4d

但是我不明白这个帖子的答案。首先,为什么单击一个在ng-click中不执行任何操作的按钮会触发摘要循环,同时单击原始ng-click =" go"按钮第二次不会触发摘要周期?

其次,如果我在setTimeout调用中删除$ scope。$ apply wrapper,如下所示:

setTimeout(function() {data.resolve("Some Data")}, 2000);

然后点击"点击我" 2秒后按钮会导致所有三个名称都正确显示,为什么?

我以某种方式怀疑它是因为如果没有值发生变化,角度不会触发摘要周期,但无法解释为什么我第二次点击那个"点击我"按钮不会更改name3的值。

0 个答案:

没有答案