给定以下测试代码:
var p = new Promise(function(resolve, reject) {
for(var i=0;i<10000000;++i)
for(var y=i;y<10000000;++y)
z = i + y;
resolve();
});
p.then(function(){alert("resolved");});
这段代码应该以异步方式运行,但它会阻止页面上的所有交互。为什么?
这在 Chrome 44 中进行了测试,根据 这个表格 ,Promise 应该已经完全实现。 这里的 Fiddle(警告:会阻塞标签页)。