javascript - 只有在堆栈清除并且时钟滴答声过去后,才会对已“确定”的承诺执行操作
问题描述
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
一个动作可以分配给一个已经“确定”的承诺。在这种情况下,操作(如果合适)将在第一个异步机会时执行。请注意,承诺保证是异步的。因此,只有在堆栈清除并且时钟滴答声过去之后,才会对已经“确定”的承诺执行操作。效果很像 setTimeout(action,10)。
const promiseA = new Promise( (resolutionFunc,rejectionFunc) => {
resolutionFunc(777);
});
// At this point, "promiseA" is already settled.
promiseA.then( (val) => console.log("asynchronous logging has val:",val) );
console.log("immediate logging");
// produces output in this order:
// immediate logging
// asynchronous logging has val: 777
它们是什么意思:只有在堆栈清除并且时钟滴答声过去之后,才会对已经“确定”的承诺执行操作?
如果promiseA.then( (val) => console.log("asynchronous logging has val:",val) );
语句在 之后显示输出console.log("immediate logging");
,这是否意味着该语句已被发送执行,但它以异步方式产生结果?
解决方案
推荐阅读
- java - 在 AndroidX 中使用导航
- javascript - 为多选列表中的每个选定元素打开新窗口?
- node.js - 运行 forEach 后返回变量
- python - 使用 python-docx 在表格中指定边框外观
- python - 熊猫简单的成对出现
- excel - 将我写的内容自动复制到单独的工作表中
- c# - ClosedXML 将列表中的数据插入现有的正确 Excel 表(命名范围)c#
- javascript - 环境变量 ReferenceError Postman
- java - 与 Java FTP 客户端并行上传文件
- angularjs - $sce.trustAsResourceUrl 不适用于 iframe 上的 Twitter URL