异步加载

异步加载

异步基础知识:

回调函数Console:https://developer.mozilla.org/zh-CN/docs/Web/API/Console

纯小白科普

1.异步加载是什么?和同步加载有什么区别吗?

2.异步加载存在的意义是什么?为什么要采用异步加载?

3.异步加载和单线程有什么关系吗?

4.什么时候要使用异步加载?

5.异步加载有几种方式?

1.异步加载

异步加载又称为非阻塞加载,当浏览器在下载JS的同时,还会进行后续页面处理。

同步加载,又称为阻塞加载,与异步加载的功能相反。当浏览器在下载JS时,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像,渲染,代码执行等。

2.为何要使用异步加载?

异步加载可以优化脚本文件的加载,提高页面的加载速度。

3.异步和单线程的关系?

JS是一个单线程的语言,单线程就是一次只能干一件事,如果想让它同时干两件,不好意思,做不到,后面的事件请排队。

显然,只使用单线程这样的机制很容易会出现卡顿的情况。

为了防止卡顿,人们设计了一种方案解决了JS的单线程问题,使得JS具备了异步的属性。首先,浏览器分配一个主线程给JS用来执行任务(函数),但是一次只能执行一个任务,这些任务形成一个任务队列排队等候执行,但前端的某些任务是非常耗时的,比如网络请求,定时器和事件监听,如果让这些任务都和其他任务一样老老实实的排队等待执行的话,它们的执行效率是会很低的,严重的话甚至会导致页面的假死。所以,浏览器为了这些耗时的任务开辟了另外的线程,那里面主要包括http请求线程,浏览器定时触发器,浏览器事件触发线程这三个任务

4.什么时候要使用异步加载?

1.定时任务:setTimeout,setInterval

2.网络请求:ajax请求,动态加载

3.事件绑定

1个点击事件被绑定了之后,我们是不知道浏览者什么时候会点击这个按钮的,如果浏览者一直不点击按钮,难道就不给他看页面接下来的动作了吗?显然不可能,所以要之后的事情和绑定事件同时做,如果浏览者点击了,那就按点击之后的动作往下走,如果真的没点击,那他也不会因为过程被阻塞而导致看不到其他的画面。

5.异步加载有几种方式?

异步加载常见的三种方式:

https://blog.csdn.net/qq_17550381/article/details/80925793

以上均为本人学习过程的总结,如有错误,欢迎指正!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium是一个用于创建地球和其他天体的3D地理信息系统(GIS)可视化的开源JavaScript库。在Cesium中,异步加载是一种常见的技术,用于在加载大型数据集或复杂场景时提高性能和用户体验。 异步加载是指在加载资源时,不会阻塞主线程,而是通过并行加载和渲染来提高效率。在Cesium中,异步加载主要应用于以下几个方面: 1. 模型加载:Cesium支持加载各种3D模型格式,如glTF、COLLADA等。当加载大型模型时,可以使用异步加载来避免页面卡顿或加载时间过长的问题。 2. 影像加载:Cesium可以加载各种影像数据,如卫星影像、地形数据等。由于影像数据通常较大,使用异步加载可以提高加载速度和用户体验。 3. 矢量数据加载:Cesium支持加载各种矢量数据格式,如GeoJSON、KML等。当加载大量矢量数据时,可以使用异步加载来提高性能和交互响应速度。 在Cesium中,异步加载通常通过使用Promise对象来实现。Promise是一种用于处理异步操作的对象,它可以表示一个异步操作的最终完成或失败,并返回相应的结果。 下面是一个示例代码,演示了如何使用异步加载加载一个3D模型: ```javascript // 创建一个Promise对象 var promise = Cesium.Model.fromGltf({ url: 'path/to/model.gltf', basePath: 'path/to/assets' }); // 当模型加载完成后,执行回调函数 promise.then(function(model) { // 将模型添加到场景中 viewer.scene.primitives.add(model); }).otherwise(function(error) { // 加载失败时的处理逻辑 console.log('An error occurred: ' + error); }); ``` 在上面的代码中,`Cesium.Model.fromGltf`方法返回一个Promise对象,表示模型的异步加载过程。通过调用`then`方法和`otherwise`方法,可以分别指定加载成功和失败时的回调函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值