Javascript承诺引用外部变量

时间:2016-03-10 11:01:13

标签: javascript angularjs promise protractor

我试图了解承诺如何在js中起作用。我有以下量角器测试:

fieldConstraintsList.forEach(function(constrains){

     // WARNING... or not??
     var input = element(by.model(constrains.model)); //Getting input element

     input.getAttribute('value').then(function(initialValue){

           // Do validation stuff....

           //WARNING... or not??
           input.clear();//Restore initial value
      });
});

这会收到一个约束列表,以应用于具有标识每个输入的模型的表单。正如您所看到的,promise在循环内部执行,因此,只要存在对在promise之外声明的input变量的引用,我期望有不同的行为(请参阅稍后的编辑部分)。 / p>

有人能给我一些提示或参考吗?

提前致谢。

EDITED

我期待这样的行为:假设constrains的长度为2,创建了2个元素:input = Ainput = B,并且再次创建了2个承诺{{1} }和promise(A)。只要在承诺(A)得到解决时承诺没有立即得到解决(或者是???),那么promise(B)和B应该是明确的而不是A.

简而言之,这就是我所期待的:input = B => input = A => input = B => promise(A)

让我烦恼的应用程序的实际行为是:promise(B) => input = A => promise(A) => input = B

0 个答案:

没有答案