【es6】async和await和promise区别?generator 函数?all和race方法?说⼀下 var 、let、const 之间的区别?

说⼀下 async 和 await、以及他们和 promise 的区别?(必问)

⾸先 async 和 await 是解决异步的终极⽅案,async 和 await ⼀般配和使⽤,当我

们给函数前⾯加上关键字 async,这个时候,这个函数的返回值就是⼀个 promise. ⽽ await 是⼀个同步

的操作,await 只能配合 async 只能,不然会报错,await 后⾯可以是表达式,也可以是⼀个 promise,在

await 下⾯的代码必须得等待 await 执⾏完之后才能在执⾏

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

以上就是我对 async 和 await 的理解.

generator 函数

generator 函数也是 es6 的处理异步回调的一种写法 但是这种写法现在被 async 取代了

generator 函数 用\*表示 跟 yield 搭配使用

promise 的 all 和 race 方法

promise 还给我们提供了.all 和 race, 其中 all ⽅法的作⽤是将多个请求合并成⼀个请求, ⽐如当⾸⻚

要请求 10 个接⼝,我们可以 promise.all 进⾏合并,.race 的作⽤也可以将多个请求合并成⼀个请求,不过

是谁先请求成功就先返回谁.

说⼀下 var 、let、const 之间的区别

1. let var 是声明变量的 const 是声明常量的

2. var 声明的变量会声明提升 但是 const 和 let 不会 (声明提升就是声明的变量会把声明语句提到作用域的顶端 但是赋值语句留在原地)

3. var 在全局作⽤域下声明变量会导致变量挂载在 window 上,其他两者不会

4. let 和 const 声明的是块级作用域 var 声明的是函数作用域

块级作用域:只要是大括号就能区分作用域

函数作用域: 只有函数才能区分作用域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值