我想知道,如果等待已解决的承诺,将导致同步代码执行或可能导致异步代码执行。
我做了这个小片段来检查浏览器:
const promise = new Promise((resolve) => {
console.log('exec promise');
setTimeout(() => {
console.log('executed promise');
resolve();
}, 1000);
});
(async () => {
console.log('start');
for (let i = 0; i < 1e8; i += 1) {
await promise;
}
console.log('end');
})();
看起来浏览器使其同步(考虑到屏幕冻结)。
但是......是由于浏览器特定的实现吗?还是设计使然?
慕田峪4524236
陪伴而非守候
相关分类