我有一个函数调用返回一个约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>
这个功能会打印到控制台(按什么顺序)?
答案 0 :(得分:4)
是
Promise回调将始终在下一个事件循环帧上异步运行。
代码在执行时完全不可能中断你的功能(因为Javascript是单线程的)。