IE11 wait promise result



如何等待承诺/脚本。onload执行时没有:.then(), .catch(), await/async和回调IE11。与cpp上的Sleep(100)相当。如果我执行循环'while(loadFlag == false);'并检查标志是否已更改,则浏览器会挂起并停止响应。我想达到这样的效果:

ScriptLoad(script);
functionFromLoadedScript(); 

但是我不能做这个…请帮忙解决这个问题

如果你有一个状态标志,你可以使用setInterval轮询状态。

https://developer.mozilla.org/en-US/docs/Web/API/setInterval

ScriptLoad(script);
var intervalID = setInterval(function () {
if (loadFlag === true) {
clearInterval(intervalID);
functionFromLoadedScript(); 
}
}, 100);

你也可以在IE中加载Promise填充库,这样你就可以使用then/catchasync/await不是必需的。承诺也可以通过链接来实现。如果你真的想使用async/await,你可以使用TypeScript来瞄准ES5TypeScript可以将async/await转换为使用Promise的等效代码,并在IE中运行。要做到这一点,你必须以ES5为目标,并且必须在IE中加载Promise多边形库。

很遗憾,这是不可能的。

最新更新