虽然 使用promise封装,解决的回调嵌套的问题,变成了链式,但是多层嵌套,链式的可维护性,可阅读性,也不是很高
async和awiat的基本使用
async用于修饰一个函数,表示这个函数是异步的,但是需要await一起使用,单独使用没有意义,依旧是同步的内容,只有遇到await开始往下,才是异步的开始
await 后面一半会跟一个promise对象,await会阻async函数的执行,直到等到promise成功的结果(resolve的结果)
await 只会等待promise成功的结果,如果失败了会报错,需要try catch
事件循环队列Event Loop(宏任务微任务)
js是一门单线程执行的编程语言,同一时间只能做一件事情
js执行主线程:代码一行一行执行,浏览器是多线程的,可以同时做很多事,js遇到异步操作,交给浏览器,满足条件后的任务 ,浏览器交给任务队列,主线程空闲再去任务队列取任务执行
宏任务:主代码块,定时器,延时器,都属于宏任务,上一个宏任务执行完,才会考虑执行下一个宏任务
微任务:当宏任务执行完,在下一个宏任务开始之前需要执行的任务,promise中的.then .catch中的代码都属于微任务(在下一个宏任务之前会执行完所有的微任务)
git
git init :初始化git仓库,生成一个隐藏的文件夹.git
git配置提交者信息:
git config --global user.name 用户名
git config --global user.email 邮箱名
查看配置 git config --list
git add 将工作区代码提交至暂存区
git commit -m'提交说明' 将暂存区代码提交到仓库区
git status 查看文件状态(红色:工作区文件待提交。绿色:暂存区文件待提交)
git log 查看提交日志
git reset --hard 版本号 可以回退到任意版本
git reset --hard head~1 将版本回退到上一次提交
git reflog 可以查看所有的版本
git add . 会将项目工作区目录的所有文件都暂存管理
git 忽略文件 仓库根目录中新建一个 .gitignore文件
分支的本质是指针,指向某个代码版本,首次提交默认生成的分支是master
git branch 分支名 创建分支
git branch 查看分支
git checkout 分支名 切换分支
git merge 分支名 合并代码
git branch -d 分支名 删除分支
git checkout -b 分支名 创建并切换分支