ES6中箭头函数,promise,async,导入导出

  • A+
所属分类:Web前端
摘要

1.单一参数,函数体只有一条语句  :  可以省略  ()  和  return


一,箭头函数

1.单一参数,函数体只有一条语句  :  可以省略  ()  和  return

function  abc(msg){     return msg; }  转化  let  abc = msg => msg

2.多个参数,函数体只有一条语句  : 需要在参数两侧添加空括号, 可以省略return

function  abc(msg,name){     return `${msg}:,${name}`; }  转化  let  abc = (msg,name) => `${msg}:,${name}`

3.没有参数,函数体只有一条语句  :  需要使用一对空括号, 可以省略 return

function  abc(){     return '你还好吗?'; }  转化  let  abc = () => "你还好吗"

4.函数体多条语句  :  需要用花括号

function add(a,b){     let c = a+b;     return c; }   let add = (a,b) => {     let c = a+b;     return c; }

注意:

  箭头函数 没有this,arguments,

  箭头函数 不能通过new关键字调用

  箭头函数 没有原型 ,也就是没有prototype

  箭头函数 不可以改变this , this跟外层的this

  箭头函数 不支持arguments

 

二.promise

.then(callback,callback)  :  第一个callback是成功的回调,第二个callback是失败的回调

.catch(callback) :  是失败的回调

通常会写成 : 

promise.then((res)=>{}).catch((err)=>{}) 

 

Promise.all () :  全部执行完,才执行下一个,

Promise.race() : 只要有任意一个Promise成功或失败,就返回新的Promise对象

 

例子:需要发送2个请求all,可以用,

  需要第一个发送完,拿到数据,再发送第二个,那么也是用这个,链式调用;你也可以用async await方法,用两个await就好了

 

三.async函数

async 函数 碰到 await 会等异步完了,才执行下面的流程

async 函数 {

  let res = await ...

  let *** = await  用上,上一个await的res,作为第二的发送请求参数

}

 

四.导入和导出

export 导出

  let  a  = 10  

  export  a;

import 导入

  import * fron './modules.js'  导入全部