vue知识铺垫

es6模块化基本语法

每一个文件都是一个模块

一:es6模块化语法在node.js中如何实现

第一步打开终端:执行 npm init -y命令

先初始化,会有一个package.json的json文件

 文件内部

 设置配置,将type改为”module“

这样就可以在node.js中使用es6模块化语法了

二:es6模块化语法中的模块导入和导出

es6中模块导入和导出分为默认导出导入和按需导入导出。

1,默认导出默认导入

默认导出export default{}

代码如下:

将变量n1,函数show导出

 默认导入import 模块命 from ”导入模块路径

 注意:每个模块内只能使用一次默认导出exports default{}

2,按需导出按需导入

按需导出:export

向外导出变量 x,y,函数getx

一个模块可以多次使用多次按需导出

一个模块可以按需导出和按需导出一起使用

按需导入:export

导入x,y,getx

 按需导入的名称要和按需导入的名称保持一致

关键字:as

将按需导入的名称重命名

列:将按需导入的名称y重命名为z

 直接执行模块中的代码

index.js文件中的代码

 在dome.js文件中执行

 执行:在终端执行 node dome.js 命令

三:promise

1,经典问题回调地狱

一个回调函数的内部出现多重会回调函数嵌套;导致代码的大量冗余,难以维护

可以通过promise解决回调地狱问题

2,什么是Promise

Promise是一个构造函数(用 new 关键字来调用的函数,称为构造函数。构造函数首字母一般大写

可以通过new实例化

new出来的romise实例对象,代表一个异步操作

promise原型的包含一个.then()方法。

每一次通过new promise()构造函数都可以得到实例对象

每个实例对象都可以通过原型链的方式访问.then()方法

 什么是.then()

.then()可以预先指定成功和失败的回调函数

proimes函数.then(成功的回调函数,失败的回调函数)

 调用.then()方法成功回调是必选的,失败的回调是可选的

.then()方法特性

如果上一个.then()返回了一个promise函数,则在后面可以继续使用.then()

方法,就可以通过链式编程解决回调地狱问题

.cathr()捕获错误

注意:如果在Promise链式编程中出现错误,则就会导致后续代码无法执行。想要后续代码继续执行,则调用.cathr()方法捕获错误,

.catch ( err => { })

promise.all方法,(等待机制)

promise.all()会并发执行promise异步操作,等待所有的异步操作全部执行完后,才执行.then()方法,

Promise.race()方法(赛跑机制)

Promise.race()也会并发执行Promise异步操作,只要任何一个Promise异步操作执行完就会执行下一步的.then(),赛跑机制

 async/await

async/await用来简化Promise异步操作,

如果一个函数内部有await修饰了,则必须搭配async一起使用

一个方法的返回值是一个promise实例对象就可以用await修饰

await修饰后的方法返回值就不再是promise实例对象了,就是一个值

四,同步任务,异步任务

同步任务:1:即非耗时任务,指在主线程上排队的那些任务,

                  2:只有亲一个任务执行完,才执行下一个任务。

异步任务:1:即耗时任务,异步任务由JavaScript委托给宿主环境执行

                  2:当异步任务执行完后,会通知JavaScript主线程执行异步任务的回调函数

1:同步和异步的执行过程

1:同步任务由JavaScript主线程次序执行

2:异步任务交给宿主环境执行

3:已执行完的异步任务对应的回调的函数,会被加入到任务队列中等待执行

4:JavaScript主线程的执行栈被清空后,会读取任务队列中的回调函数,次序执行

5:JavaScript主线程会不断重复以上4个步骤

2:什么是EventLoop(事件循环)

JavaScript主线程从任务对列中读取异步任务的回调函数,放到栈中依次执行。这个过程不断循环,这种记住就是EventLoop(事件循环)

3:宏任务和微任务

JavaScript把异步任务分为宏任务和微任务。

1:宏任务:ajax请求,seTimeout,setInterval,文件操作,I/O,UI Rendering,其他

2:微任务:Promise.then, .catch, .finally  ,prscess.nextTick 。其他

宏任务微任务的执行顺序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值