Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以使用<;脚本异步>;要加载babel polyfill?_Javascript_Reactjs_Html_Babeljs - Fatal编程技术网

Javascript 我可以使用<;脚本异步>;要加载babel polyfill?

Javascript 我可以使用<;脚本异步>;要加载babel polyfill?,javascript,reactjs,html,babeljs,Javascript,Reactjs,Html,Babeljs,我的页面上有一个模式对话框,当用户与页面进行某种交互时,它会弹出 我用React制作了它,并使用webpack创建了一个整洁的小包,通过脚本标签包含在我的页面中 因为它使用生成器,而且我必须支持Internet Explorer 11,所以我需要,所以我的HTML代码如下所示: 困扰我的是我正在同步加载Babel polyfill。如果我将async添加到第一个脚本标记中,我的代码会工作,但我不确定这是否是确定的,也就是说,如果代码只是偶然工作的,因为polyfill在脚本之前完成加载 从C

我的页面上有一个模式对话框,当用户与页面进行某种交互时,它会弹出

我用React制作了它,并使用webpack创建了一个整洁的小包,通过脚本标签包含在我的页面中

因为它使用生成器,而且我必须支持Internet Explorer 11,所以我需要,所以我的HTML代码如下所示:


困扰我的是我正在同步加载Babel polyfill。如果我将async添加到第一个脚本标记中,我的代码会工作,但我不确定这是否是确定的,也就是说,如果代码只是偶然工作的,因为polyfill在脚本之前完成加载


从CDN加载babel polyfill时使用安全吗?

如果使用async标记,您不能保证它将在模态之前加载,因此我不会这样使用它

不,它不是确定性的,也不总是有效的

如果您愿意,您可以在chrome上使用节流功能,当下载速度较低时,它将无法始终工作

从工厂装载babel polyfill时使用安全吗 CDN

不,不是<代码>异步脚本“一旦可用”就会执行,执行顺序不受保证。在下面的例子中:

<script src="polyfill.min.js" async></script>
<script src="survey-modal.js" async></script>

“polyfill”脚本可能在“survey modal”之后执行。更好的方法如下:

<script src="polyfill.min.js" defer></script>
<script src="survey-modal.js" defer></script>

defer
脚本是在解析文档后下载的(因此它不会阻止页面呈现),但执行顺序是有保证的


PS:您提到,当两个脚本都是异步的时,您的代码可以工作。是的,这是偶然的。当polyfill从浏览器缓存加载时,它将工作,如果通过网络获取,则可能无法工作。

感谢您的快速回复!我只在用户实际提交我的对话框时使用生成器,到那时polyfill肯定会被加载。在这种情况下使用async安全吗?或者,当我的主脚本开始运行时,polyfill需要完成加载吗?问题是你不能保证。如果请求超时或超过用户提交所需的时间,那么它将失败并抛出。