promise

promise

promise作用

  • 主要用于异步计算
  • 可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
  • 可以在对象之间传递和操作promise,帮助我们处理队列

promise是什么?

  • Promise 是一个构造函数,是异步编程的一种解决方案。所谓Promse,它本身就是一个容器,里面保存着异步操作的结果,对的,这和回调函数类似。
  • Promise 容器本身不是异步的,而里面封装一个异步任务。他有三种状态,即:1.pending(进行中)、2.resolved(成功)、3.rejected(失败)。状态只能变为一种

promise是用来解决两个问题的:

回调地狱,代码难以维护, 常常第一个的函数的输出是第二个函数的输入这种现象
promise可以支持多个并发的请求,获取并发请求中的数据
这个promise可以解决异步的问题,本身不能说promise是异步的
代码

import axios from 'axios'
import Vue from 'vue'
import loading from '../../components'
Vue.use(loading)

const server = axios.create({
    baseURL:'https://api.it120.cc',
    timeout:10000
})

// 请求拦截
server.interceptors.request.use(config=>{
    Vue.$loading.show();
    if(localStorage.getItem('token')){
        config.headers.token = localStorage.getItem('token')
    }
    return config
},err=>{
    console.log(err);
})

// 响应拦截
server.interceptors.response.use(res=>{
    if(res.data=='无效token'){
        console.log('token无效,重新登录');
        Vue.$loading.hide();
    }else{
        Vue.$loading.hide();
        return res
    }
},err=>{
    setTimeout(()=>{
        Vue.$loading.hide();
    },1000)
    switch (err.code) {
        case 500:
            console.log('服务器错误')
        break;
        case 404:
            console.log('页面找不到了')
        break;
        default:
            console.log('网络连接错误')
        break;
    }
})

export default server
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值