当Internet Explorer执行长时间运行的任务时,我经历了很长时间的冻结。任务是使用 pdfmake 我不能控制这个脚本做什么,我只是把它叫做
function getPdf(docDefinition, filename) { var t = Date.now(); return pdfMake.createPdf(docDefinition).download(fileName + '.pdf', function() { console.log('pdfMake.createPdf: \'' + fileName + '.pdf\' generated in: ' + (Date.now() - t) + 'ms'); }); }
如何防止冻结,这样我就可以显示一些旋转等待图标,或其他什么?
由于版本10 IE支持 web-workers 它允许在不同于主线程的线程上运行JS。
您可以使用 async function 返回 promise
ES5
this promise polyfill