ES6的一些题目

1.举例说明,如何访问promise实例的内部状态?

let promise=new Promise((resolve,reject)=>{
  console.log('start...');
  setTimeout(()=>{
    let random=Math.random();
    console.log('结果',random);
    if(random>0.5){
      resolve(random);
    }else{
      reject(random);
    }
  },1000)
  console.log('end...');
})
promise.then((sucess)=>{
  console.log('成功了',sucess);
}).catch((error)=>{
  console.log('失败了',error);
})

2.使用js语法,完成ES6中for of 循环语句的重构。

let arr=[1,2,3];
let aValues=arr.values();
let i;
while(!(i=aValues.next()).done){
  console.log(i.value);
}

3.举例说明ES6中箭头函数的this指向。
首先,箭头函数的this指向永远指向外层对象

var x = 11;
var obj = {
    x:22,
    say:()=>{
        console.log(this.x);
        }
    }
obj.say(); //11

4.使用axios简单的封装一个request.js,需要用到axios的默认设置、拦截器等。

//引入axios和qs依赖
import axios from 'axios'
import qs from 'qs';


//http request拦截器 添加一个请求拦截器
axios.interceptors.request.use(function(config) {
    let token = localStorage.getItem("token")
    if (token != null) {
        //将token放到请求头发送给服务器,将token放在请求头中
        config.headers['Authorization'] = token
    }
    return config;
}, function(error) {
    Toast.fail('请求超时');
    // Do something with request error
    return Promise.reject(error);
});


//添加一个响应拦截器
axios.interceptors.response.use(function(response) {
   return response;
}, function(error) {
    Toast.fail("服务器连接失败");
    return Promise.reject(error);
})

//get方式请求
export function get(url, params) {
    return axios({
        method: 'get',
        url,
        params, // get 请求时带的参数
        timeout: 10000
    })
}
...
//将axios暴露出去
export default axios

5.简述ES6中Iteartor的作用。
1.是为各种数据结构,提供一个统一的、简便的访问接口;
2.是使得数据结构的成员能够按某种次序排列;
3.是 ES6 创造了一种新的遍历命令for…of循环,Iterator 接口主要供for…of消费。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值