AngularJS承诺:如果在函数返回之前准备好了promise

时间:2017-01-24 17:04:38

标签: javascript angularjs angular-promise

我有一个函数调用返回一个约10毫秒完成的promise 我在内部(在另一个函数的开头)调用该函数需要很长时间才能完成(没有异步代码)。如果在主机函数完成执行之前解析了promise,它是否会等待其主机函数完成?

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div ng-app>
    Item:
    <input type="text" ng-model="name" id="item"/>
      <br />
      <br />
    <div>{{name}}</div>
</div>

这个功能会打印到控制台(按什么顺序)?

1 个答案:

答案 0 :(得分:4)

Promise回调将始终在下一个事件循环帧上异步运行。

代码在执行时完全不可能中断你的功能(因为Javascript是单线程的)。