繁体   English   中英

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

[英]AngularJS promises: if the promise ready before the function returns

我有一个函数调用返回一个大约需要10毫秒才能完成的承诺,我在内部调用该函数(在另一个函数的开头)需要很长时间才能完成(没有异步代码)。 如果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));
  }
}

此功能将以什么顺序打印到控制台中?

是。

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

代码完全不可能在执行过程中中断您的函数(因为Javascript是单线程的)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM