[JavaScript初级面试]5. JS基础-异步
时间:2021-09-05
本文章向大家介绍[JavaScript初级面试]5. JS基础-异步,主要包括[JavaScript初级面试]5. JS基础-异步使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目
- 同步和异步的区别是什么?
- 手写用Promise加载一张图片
- 前端使用异步的场景哪些?
- setTimeout执行顺序
单线程
JS是单线程语言,只能同时做一件事儿;
JS和DOM渲染共用同一个线程,因为JS可修改DOM;
浏览器和nodejs已经支持JS启动进程
,如web worker
单线程弊端
遇到等待(网络请求,定时任务)会暂停执行,用户界面无响应;
解决单线程弊端的方式:
采用异步执行方式,以回调callback函数的形式
// 同步方式:
console.log(100);
alert(200); // 同步执行,阻塞代码执行
console.log(300);
// 异步方式:
console.log(100);
setTimeout(() => {// callback函数异步调用,不会阻塞代码执行
console.log(200);
});
console.log(300);
异步的应用场景
- 网络请求,如ajax图片加载
- 定时任务,如setTimeout
异步带来的问题
callback hell : 回调函数里面继续调用了回调函数
解决异步带来的callback hell问题
使用Promise
本文来自博客园,作者:Max力出奇迹,转载请注明原文链接:https://www.cnblogs.com/welody/p/15214486.html
如果觉得文章不错,欢迎点击推荐
原文地址:https://www.cnblogs.com/welody/p/15214486.html
- excel文件内容导入数据库的问题及解决(20天)
- 10g,11g数据泵的导入问题及解决(19天)
- ORACLE 11g导入9i dump的问题及解决
- 服务器增加内存后无法重启数据库的问题及解决 (36天)
- 分区表放入keep pool,recycle pool的问题及解析(34天)
- 临时表空间故障处理 (33天)
- 关于物化视图疑问(32天)
- ORACLE 10g 升级 11g问题汇总(31天)
- 数据库11g升级中一次奇怪的问题 (30天)
- 10g升级至11g需要考虑的参数优化(29天)
- 关于oracle invalid components问题的解决(28天)
- 11g升级性能问题之一 重建user_synonyms (笔记27天)
- 数据库shutdown之后无法启动的问题 (46天)
- 关于oracle里的process总结(45天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- AndroidStudio Gradle第三依赖统一管理的实现方法
- 小程序上传多张图片到springboot后台,返回可供访问的图片链接
- AndroidStudio Gradle基于友盟的多渠道打包方法
- Android开发之全屏与非全屏的切换设置方法小结
- Android使用GridView实现日历的方法
- Android控件AppWidgetProvider使用方法详解
- R语言使用链梯法Chain Ladder和泊松定律模拟和预测未来赔款数据
- Android ViewPager实现左右滑动的实例
- R语言通过伽玛与对数正态分布假设下的广义线性模型对大额索赔进行评估预测
- R语言中回归模型预测的不同类型置信区间应用比较分析
- 第06期:Prometheus 存储
- 新特性解读 | 数组范围遍历功能
- 技术分享 | MySQL 内存管理初探
- 新特性解读 | 窗口函数的适用场景
- Android自定义View 仿QQ侧滑菜单的实现代码