我有一个函数调用,返回一个promise,大约需要10ms才能完成,我在内部(在另一个函数的开头)调用了这个函数,但它需要很长很长的时间才能完成(它没有异步代码)。如果promise在其宿主函数完成执行之前被解析,它会等待宿主函数完成吗?
function foo() {
getSomeValues().then(function() {
// getSomeValues takes approx. 10ms
console.log('Got Values');
});
for (var i = 0; i < 3; i++) {
// both operations take approx. 900ms
moveFile();
moveFileBack();
console.log('Iteration: ' + (i + 1));
}
}此函数将打印到控制台中的内容(按什么顺序)?
发布于 2017-01-25 01:06:29
是。
Promise回调将始终在下一个事件循环帧上异步运行。
代码在执行时完全不可能中断你的函数(因为Javascript是单线程的)。
https://stackoverflow.com/questions/41834137
复制相似问题