为什么说require.js是异步的?
requirejs(["a"],function(){
代码段b
})
requirejs(['c'],function(c){
代码段c
})
实在不明白require的异步在什么地方!!!
ajax异步是等服务器发送数据来了就调用回调,但是数据处理是在服务器端完成的,这个时候客户端是异步的,
可是如果在浏览器端,,只有一个主进程,,,a代码执行,如果是需要5s,那必定要等5s然后b才运行,这个通过回调和直接按照顺序有什么不一样么?
已经头大了,期待好心人解答疑惑....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
通过回调就是a的5秒在回调里执行,b直接执行不用等a的5秒执行完,同步的话,b就要等待5秒;
JS就是通过异步回调解决没有多线程的问题,而且浏览器上多线程也不现实;
因为 require.js 加载模块也得 AJAX 请求服务器上的 JS 文件,也是远程 IO。
js最基本的就是回调解决 你require也是js啊
最费时间的不是代码的执行,而是
I/O
操作。require
的基本思路就是先将依赖加载,对于依赖的js
文件来说一般是用script
标签进行加载,当然会用async
属性,这样就可以异步的一次并行加载多个js
文件,正常的模式下js
文件只能一个一个的串行加载。其实require
的主要目的是在于模块化,而非是让性能更优化。