day07

1. 说⼀下你对 promise 的理解?

1.1 什么是 promise?通过 promise 能够解决什么问题?

promise 是一种异步的解决方案,就是把回调函数的写法变成链式写法,promise 是一个容器,里面可以放异步操作。

promise 能解决回调地狱的问题。

 什么是回调地狱?

回调地狱就是回调函数嵌套回调函数,比如要拿到 a 接口的数据后才能请求 b 接口,拿到 b 接口的数据后才能请求 c 接口,这样的写法非常臃肿不易维护。用 promise 可以变成链式的写法,比着回调地狱的写法会更加的美观和方便维护,解决回调地狱 promise 还不是最终的方案,终极解决方案是 async 和 await,async 函数就是把异步的代码变成同步的写法。

1.2 说⼀下 promise 的特点?也就是三种状态?

promise ⼀共有三个状态,分别是进⾏中,已成功或者已失败,如果成功的话可以通过 resolve ⽅法将正确结果返回出去,通过.then 的⽅式进⾏接收;失败的话可以通过 reject 的⽅式将失败的结果返回出去,通 过.catch 的⽅式进⾏接收;pending 状态是进⾏中,⼀旦进⾏之后,他的状态是不可逆的。

1.3 说⼀下 promise 怎么⽤?

使用 promise 的时候需要实例化 new Promise(),里面接收一个回调函数作为参数,这个回调函数里有两个参数:一个是 resolve ,一个是 reject ,可以通过实例化对象调用 then 和 catch,实例化对象除了可以调用 then 和 catch 之外还有一个方法是 finilly,就相当于是完成的意思,不管成功还是失败都会执行这个方法。

1.4 在说⼀下 promise 的 all ⽅法和 race ⽅法?

这两个方法是构造函数的方法所以直接被 Promise 调用,他们两个方法都是把多个接口放在一起请求,all 全部,都请求到了才执行 then,race 赛跑,谁先执行完成谁就先执行 then。

1.5 在说⼀下在项⽬中使⽤ promise 做过什么?

在原生的微信小程序中 因为 wx.request 本身不是一个 promise 对象 所以我们把他封装成了一个 promise 对象,就能用 then 和 catch 方法了

我们常用的 jq 的 ajax 和 axios 本身就是一个 promise 所以我们可以直接用 then 和 catch 方法

2. 原生 ajax 的步骤

1. 创建 xhr 对象

2. 创建和服务器的链接

3. 发送请求

4. 等待服务器的响应 并且拿到响应数据

3. 说⼀下 async 和 await、以及他们和 promise 的区别?

⾸先 async 和 await 是解决异步的终极⽅案,他是 generatal 的语法糖。async 和 await ⼀般配和使⽤,当我们给函数前⾯加上关键字 async,这个时候,这个函数的返回值就是⼀个 promise。⽽ await 是⼀个同步的操作,await 只能配合 async 使用,不然会报错,await 后⾯可以是表达式,也可以是⼀个 promise。在 await 下⾯的代码必须得等待 await 执⾏完之后才能执⾏。

他们和 promise 的区别就是在写法上更加的简洁。

4. 说⼀下 es6 新增的特性有那些?

1. 新增了变量声明⽅式,也就是 let 和 const

2. 新增了解构赋值

3. 新增了一些数组⽅法、字符串⽅法、正则表达的⽅法、函数的⼀些写法和对象的⽅法

4. promise

5. async、await

6. class 以及 继承

7. 模块化

8. 新的数据类型

5. 说⼀下箭头函数与普通函数的区别?

在 es6 中,提供了⼀种简洁的函数写法,我们称作“箭头函数”。
写法:函数名=(形参)=>{……} 当函数体中只有⼀个表达式时,{ }和 return 可以省略,当函数体中形参只有⼀个时,()可以省略。

特点:

箭头函数中的 this 始终指向箭头函数定义时的离 this 最近的⼀个函数,如果没有最近的函数就指向 window。

区别:​​​​​​​

1. 箭头函数不能⽤于构造函数,不能使⽤ new\*\* ⽽普通函数可以

2. 在普通函数中,this 总是指向调⽤它的对象,如果⽤作构造函数,this 指向创建的对象实例,

   ⽽箭头函数指向箭头函数定义时的离 this 最近的⼀个函数,如果没有最近的函数就指向

   window。

6. 说⼀下 for in 与 for of 的区别?

for in 可以遍历对象 ⽽ for of 遍历对象会报错;
​​​​​​​for in 遍历数组得到的数组的下标, ⽽ for of 遍历得到的时候数组⾥⾯的每⼀个元素。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值