我承诺在我的UI中绑定.当promise解析并且UI元素呈现时,我可以单击该UI元素.在我处理单击的控制器代码中,我想对promise的值进行操作.在我的角度代码的这一点上,我已经知道承诺已经解决了......但是当我想要获得价值时,它仍然是一个承诺.
什么是获得承诺价值的最佳方式...鉴于我知道它必须已经解决了?
Jos*_*ler 22
承诺永远是承诺 - 这就是它们应该如何.虽然可以将promise直接绑定到视图,但我通常不鼓励这种做法,因为它缺乏透明度并且可能导致视图闪烁.更好的解决方案是在then
调用中分配范围值:
myService.then(function( val ) {
$scope.val = val;
});
Run Code Online (Sandbox Code Playgroud)
什么时候$scope.val
准备就绪,它总是可以直接作为一个值来处理 - 因为它是.
也就是说,如果你想直接进行承诺分配,你只需将其视为承诺; 也就是说,你需要打电话promise.then(function () { ... });
.这看起来很不方便,但它实际上证明了承诺的强大程度.
如果您想了解有关承诺的更多信息,我会为最近的Google+环聊向他们提供一些代码示例(并提供代码示例),其中我介绍了AngularJS中的承诺的优势,常见用途和最佳做法:AngularJS Hangout - Promises,Promises Promises ,承诺.永无止境的承诺链的想法是专门解决的,尽管我没有时间码.
希望这可以帮助!
归档时间: |
|
查看次数: |
32533 次 |
最近记录: |