js 异步和单线程
来源:互联网 发布:淘宝扣除保证金的规则 编辑:程序博客网 时间:2024/05/21 09:17
1.1.关于异步
//democonsole.log(100);setTimeout(function(){ console.log(200);},1000);console.log(300);
100300undefined200
从上面的例子看到,它的流程并不是:先打印100,过1s后打印200,然后打印300;
而是:
先打印100,然后打印300,接着1s后打印200;
1.2.对比同步
//democonsole.log(100);alert(200); // 需要你点击确认console.log(300);
这个例子我们可以看到:先打印100,然后需要你点击确认后再弹出200,最后打印300;1.3.何时需要异步
- 有可能发生等待的情况
- 等待过程不能向alert一样阻塞程序运行
- 因此,等待的情况需要异步
1.4.前端使用异步的场景
- 定时任务:setTimeout setInverval
- 网络请求:ajax请求、动态<img>加载
- 事件绑定
2.单线程
//democonsole.log(100);setTimeout(function(){ console.log(200);});console.log(300);
当定时时间为0时,也是100 300 200;执行过程如下:
- 执行第一行,打印100
- 执行setTimeout后,传入set Timeout的函数会被暂存起来,不会立即执行(单线程的特点,不能同时干两件事)
- 执行最后一行,打印300
- 所有程序执行完成,处于空闲状态时,会立马看到有没有暂存起来要执行的
- 发现暂存起来的setTimeout函数无需等待时间,就立即执行
阅读全文
0 0
- js 异步和单线程
- js的异步和单线程
- js的单线程和异步
- js的单线程和异步
- js的单线程和异步
- js的单线程和异步
- js的单线程和异步
- js的单线程和异步
- js的单线程和异步
- js的单线程和异步
- Js的单线程和异步
- 异步和单线程
- 异步和单线程
- js单线程与异步
- javascript异步和单线程
- 单线程和异步队列
- node.js 单线程异步理解
- JS单线程,同步异步问题
- 算法学习之旅,初级篇(2)--水仙花数
- scrapy 基本用法
- Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK
- python XML文件读写
- redhat 安装gcc
- js 异步和单线程
- 并行计算之路<4>——CUDA牵手OpenCV
- F
- JAVA日志系统
- 大数据应用的四个常规错误认识
- tmux
- 矩阵乘法优化--hdu4920 滚动数组
- Java正则表达式详解
- 算法学习记录九(C++)--->二进制中1的个数