首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AJAX中的同步加载与异步加载

HTML5学堂:在AJAX知识当中,有几个经典的辨析,“同步加载”与“异步加载”的区别;post与get的区别;XML与JSON的区别等。...本文讲解的就是同步与异步的区别,可以通过图片更直观的理解两者在加载内容时的流程。在最后介绍了异步加载的优势。...与之对应的概念是同步,同步的链接在同一时刻只会有一个,并且会阻止后续JS代码的执行,JS必须等待同步链接加载完毕后才能继续执行。AJAX发展到现在,不但可以发起异步链接,也可以发起同步链接。...同步加载 同步加载,每次刷新的是整个页面 ? 异步加载 异步加载,每次只刷新需要更换部分的内容 ?...异步加载优于同步加载的特点 1.浏览器可以从服务器同时请求多项内容; 2.浏览器请求返回的速度会快得多; 3.只有页面中真正改变的部分得到更新; 4.能够减少服务器数据流量; 5.用户可以在页面更新的同时继续工作

3.5K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Require.js

    通过require.js 可以对javascript文件进行别样引用 Require.js的使用: 第一步: 只需在html页面中引用require.js 就够了 第二步: 在引用require.js...的时候,要设置async属性为ture 确保不会阻塞页面 第三步:单写一个js文件,用于引用相关的javascripnt文件,这个文件可以随便命名,一般叫main.js 第四步: 在引用require.js...时,通过data-main属性指定main.js ***模块化**** 原本我们在引用require.js,指定main.js后,可以直接在main.js中书写我们的javascript代码。...模块化:把我们需要的功能和属性定义成一个js文件,通过引用这个js文件就能使用其功能和属性 使用require.js 实现的模块化满足 AMD 标准 → Asynchronous Module Define

    4.4K20

    Jquery前端分页插件pagination同步加载和异步加载

    上一篇文章介绍了Jquery前端分页插件pagination的基本使用方法和使用案例,大致原理就是一次性加载所有的数据再分页。...https://www.jianshu.com/p/a1b8b1db025b 但是这样写的缺点就是一次性加载数据进行分页的,后期数据多的话可能不行,数据量太大比如说上千条数据,在给每个页面分配固定的条数...,一下子加载不出来,就会导致页面间的短暂空白,如果遇上网速不好,那差不多就是一个不完美的bug 一次性加载数据,前端分页 上一篇文章中提到的原理js代码如下: $(function() {...,数据太多了,一次性加载不出来,卡的很,和后台商量了一下,得出了一个简单的思路,当前页数和显示的条数即可,解决方案如下: 分批加载数据,前端分页(实现异步加载) js代码: $(function...如果你用到此插件作分页的时候,涉及到的数据量大,可以采用异步加载数据,当数据不多的时候,直接一次性加载,方便简单。

    4K30

    requireJS

    也就是说,如果加载时间很长,整个应用就会停在那里等。 这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。...因此,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous)。这就是AMD规范诞生的背景。 3....(2)js文件之间存在依赖关系,必须严格保证加载顺序。而且脚本的加载是同步的。 解决方案: (1)可以使用async和defer关键字使得加载异步,但可能因此在加载过程中丢失加载的顺序。...在同步加载的服务端JavaScript环境中,可简单地重定义require.load()来使用RequireJS。...(3)在同步加载的服务端JavaScript环境中,可简单地重定义require.load()来使用RequireJS。 (4)require.js要求,每个模块是一个单独的js文件。

    1.7K73

    Require.Js 前端模块化

    前端模块化 (Require.js) ? 为什么要用 前端模块化 早期,js代码量小, 所有Javascript代码可以都写在一个文件里面,只要加载一个js文件就够了。...AMD : Async Module Definition 异步模块定义 require.js 依赖前置:在一开始就将所有的依赖项全部加载 CMD : Common Module Definition...通用模块定义 sea.js 依赖延迟:在需要的时候才去加载依赖项 模块化的实现(require.js) 下载后,把它放在目录下面,就可以加载了  require.js...中,引用一个模块使用require.js提供的函数 require() 语法:require(["模块文件的路径(不带.js后缀的)"], function(){ //模块加载成功之后的回调函数...标签的属性 这个属性可以用来指定一个文件,加载文件的路径会以这路径为基础, 指定的文件会在require.js加载完毕之后,通过异步的方式加载,并且执行里面的代码, require.js

    3.8K40

    JS模块化编程以及AMD、CMD规范、Webpack

    这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。...因此,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous)。这就是AMD规范诞生的背景。...如果将前面的代码改写成AMD形式,就是下面这样: require(['math'], function (math) { math.add(2, 3); }); math.add()与math模块加载不是同步的...require.js的诞生,就是为了解决这两个问题: (1)实现js文件的异步加载,避免网页失去响应; (2)管理模块之间的依赖性,便于代码的编写和维护。...require.js的加载 使用require.js的第一步,是先去官方网站下载最新版本,下载后,假定把它放在js子目录下面,就可以加载了。

    2.3K10

    JS模块化编程规范1——require.js

    概述 require.js是各种网络APP中非常常见的JS依赖库,它其实不仅仅是个模块加载器那么简单。它背后蕴含了一个非常重要的设计,也就是JS模块化编程。...后来随着require.js的推广和使用,就逐渐形成了AMD(The Asynchronous Module Definition),也就是"异步模块加载机制"。...这样,如果大家都约定使用同样的模块化规范设计,从一个框架到另外一个框架就没有成本,并且可以互相加载引入。 这里通过一个计算幂运算的例子,详细论述require.js的使用。 2..../script> 这句代码定义了脚本的加载入口,src当然是require.js的源代码,而data-main则会默认的将dota-main指定的js路径为根路径。...参考 【第67期】ES6 系列之模块加载方案 Javascript模块化编程(三):require.js的用法 JavaScript的模块化编程

    3.4K10

    【前端面试题】10—18道有关模块化开发的面试题(附答案)

    CommonJS规范同步加载模块,也就是说,只有加载完成,才能执行后面的操作。AMD规范则非同步加载模块,允许指定回调函数。...另外,模块之间通过API进行通信 4、require.js解决了什么问题? 解决了以下问题。 (1)实现了 JavaScript文件的异步加载。 (2)有助于管理模块之间的依赖性。...主流的 JavaScript模块化方案都使用“异步模块定义”的方式,这种方式给开发带来了极大的不便,所有的同步代码都需要修改为异步方式。...require.JS和 SeaiJS都是模块加载器,倡导的是一种模块化开发理念,核心价值是让JavaScript的模块化开发变得更简单自然。 不同之处如下。 (1)定位有差异。...require.JS想成为浏览器端的模块加载器,同时也想成为 rhino/node等环境的模块加载器。

    2.1K20

    unity3d:Assetbundle模拟加载,同步加载,异步加载,依赖包加载,自动标签,AB浏览器,增量打包

    } sw.Close(); fs.Close(); AB包浏览器 方便查看一个ab包内具体包含哪些 黄色的是代表被多个ab包包含的资源 AB异步加载...: 加载a生成一个AssetBundleLoadOperation,为异步操作加载 public abstract class AssetBundleLoadOperation : IEnumerator...AssetBundleManager中update判断m_DownloadingWWWs每加载完一项,放入到m_LoadedAssetBundles已加载完ab表中 在AssetBundleManager...(在m_LoadedAssetBundles中找到值),依赖全加载完,执行加载a的自身ab的请求m_Request = bundle.m_AssetBundle.LoadAssetAsync (m_AssetName..., m_Type); b,c先加载完,a再加载完,AssetBundleLoadOperation中MoveNext返回false,代表执行完毕,可以根据ab包实例化gameobjec之类 同步加载 static

    55910

    使用Require.js实现模块化开发

    在javascript中,我们把比较复杂的都是用模块化,今天我们就来了解一下require.js来实现模块化开发 require.js是什么?...require.js是在AMD规范上实现的一个 JavaScript 模块异步加载器。...然后还有个data-main属性,这属性指定在加载完 reuqire.js 后,就用 requireJS 加载该属性值指定路径下的 JS 文件并运行,所以这个js为入口。...require函数 此函数就是用于加载模块和依赖的,加载完成后会只想回调函数,回调函数中的参数要和前面的模板的顺序一致。我这里就把paths里配置了4个模块都加载了。...define函数跟require函数一样,两个参数,第一个参数是一个数组,用于加载依赖,比如我这里用了jquery的语法,所以就必须加载jquery这个依赖。

    2.8K10

    js模块化编程之彻底弄懂CommonJS和AMDCMD!(转)

    也就是说,如果加载时间很长,整个应用就会停在那里等。您会注意到 require 是同步的。 这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。...因此,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous)。这就是AMD规范诞生的背景。...如果将前面的代码改写成AMD形式,就是下面这样:   require(['math'], function (math) {     math.add(2, 3);   }); math.add()与math模块加载不是同步的...二、require.js的加载 使用require.js的第一步,是先去官方网站下载最新版本。 下载后,假定把它放在js子目录下面,就可以加载了。   ...六、加载非规范的模块 理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。

    1.7K30

    JS模块化概念理解 原

    模块规范:CommonJS和AMD node.js的模块系统,就是参照CommonJS规范实现的 在CommonJS中,有一个全局性方法require(),用于加载模块 CommonJS规范不适用于浏览器环境...浏览器端的模块,不能采用”同步加载"(synchronous),只能采用"异步加载"(asynchronous) AMD Asynchronous Module Definition 是异步加载模块定义...浏览器端的应用适合AMD模块规范 主要有两个Javascript库实现了AMD规范:require.js和curl.js ?...require.js的用法 实现js文件的异步加载,避免网页失去响应 管理模块之间的依赖性,便于代码的编写和维护 http://requirejs.org/docs/download.html require.js" defer async="true" data-main=“js/main”> 模块必须采用特定的define()函数来定义

    1.9K10

    前端模块化详解(完整版)

    在服务器端,模块的加载是运行时同步加载的;在浏览器端,模块需要提前编译打包处理。 (2)特点 所有代码都运行在模块作用域,不会污染全局作用域。...AMD规范则是非同步加载模块,允许指定回调函数。由于Node.js主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS规范比较适用。...但是,如果是浏览器环境,要从服务器端加载模块,这时就必须采用非同步模式,因此浏览器端一般采用AMD规范。此外AMD规范比CommonJS规范在浏览器端实现要来着早。...AMD模式可以用于浏览器环境,并且允许非同步加载模块,也可以根据需要动态加载模块。 3.CMD CMD规范专门用于浏览器端,模块的加载是异步的,模块使用时才会加载执行。...,这并不适合在浏览器环境,因为同步意味着阻塞加载,浏览器资源是异步加载的,因此有了AMD CMD解决方案。

    2.2K30

    前端模块化详解(完整版)

    在服务器端,模块的加载是运行时同步加载的;在浏览器端,模块需要提前编译打包处理。 (2)特点 所有代码都运行在模块作用域,不会污染全局作用域。...AMD规范则是非同步加载模块,允许指定回调函数。由于Node.js主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS规范比较适用。...但是,如果是浏览器环境,要从服务器端加载模块,这时就必须采用非同步模式,因此浏览器端一般采用AMD规范。此外AMD规范比CommonJS规范在浏览器端实现要来着早。...AMD模式可以用于浏览器环境,并且允许非同步加载模块,也可以根据需要动态加载模块。 3.CMD CMD规范专门用于浏览器端,模块的加载是异步的,模块使用时才会加载执行。...,这并不适合在浏览器环境,因为同步意味着阻塞加载,浏览器资源是异步加载的,因此有了AMD CMD解决方案。

    1.3K20

    前端入门22-讲讲模块化

    AMD规范&Require.js(2009年) CommonJS 规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。...由于 Node.js 主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS 规范比较适用。...但是,如果是浏览器环境,这种同步加载文件的模式就会导致浏览器陷入卡死状态,因为网络原因是不可控的。...AMD规范 AMD规范和规范实现者:Require.js 前端里没有 Node.js 的存在,即使有类似的存在,但由于 CommonJS 的模块化规范中,各模块的加载行为是同步的,也就是被依赖的模块必须执行结束.../module");//同步加载模块 console.log(module1.name); require.async(".

    42810

    前端模块化

    也就是说, 如果加载时间很长,整个应用就会停在那里等。这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。...因此,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous)。这就是AMD规范诞生的背景。 AMD: 以浏览器第一的原则发展,异步加载模块。...主要有两个Javascript库实现了AMD规范:require.js和curl.js。 require.js js 文件越来越大,需要同时加载多个js文件。...require.js的诞生,就是为了解决这两个问题: (1)实现js文件的异步加载,避免网页失去响应; (2)管理模块之间的依赖性,便于代码的编写和维护。...CommonJS 模块的require()是同步加载模块,ES6 模块的import命令是异步加载,有一个独立的模块依赖的解析阶段。

    48520

    Javascript模块化编程(三):require.js的用法

    我采用的是一个非常流行的库require.js。 一、为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。...二、require.js的加载 使用require.js的第一步,是先去官方网站下载最新版本。 下载后,假定把它放在js子目录下面,就可以加载了。   ...加载require.js以后,下一步就要加载我们自己的代码了。假定我们自己的代码文件是main.js,也放在js目录下面。...在上例中,就是js目录下面的main.js,这个文件会第一个被require.js加载。由于require.js默认的文件后缀名是js,所以可以把main.js简写成main。...六、加载非规范的模块 理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。

    2.3K90
    领券