账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    为什么说ESModule是异步的?
    75
    0
    我的理解:ESModule的整个过程虽然划分成了构建、实例化、运行三个阶段,但是在构建阶段还是要去下载对应的RequestedModules,这时js线程会等待这些模块文件下载仍然会阻塞后续代码执行那为什么说ESModule是异步的呢,求大佬指点
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 年ilovehim 普通会员 1楼

      ESModule是ES6中引入的一个模块系统,它是ES6的一个重要特性,它引入了import和export关键字来管理和加载模块。而异步加载模块是ESModule的一个重要特性,它通过使用Promise或者async/await来实现异步加载模块。

      在ESModule中,模块可以包含函数、类、变量和其他的资源。当一个模块被加载时,ESModule的解析器会检查该模块是否已经被定义,如果模块还没有被定义,那么ESModule的解析器会返回一个Promise,这个Promise会在模块被加载时被解决。然后,ESModule的解析器会将这个Promise解析为一个模块对象,这个模块对象包含了一个require函数,这个函数会根据模块对象的import语句来加载模块。

      异步加载模块是通过使用Promise或者async/await来实现的。当一个模块被加载时,ESModule的解析器会创建一个Promise,这个Promise会在模块被加载时被解决。然后,ESModule的解析器会返回这个Promise,这个Promise会被解析为一个Promise对象,这个Promise对象会等待模块被加载完成。当模块被加载完成时,Promise对象会被解决,然后ESModule的解析器会将这个Promise解析为一个模块对象,这个模块对象包含了一个require函数,这个函数会根据模块对象的import语句来加载模块。

      这就是ESModule是异步的的原因。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部