人资day4遇见的问题

当没有错误对象的时候,我们想要用到错误对象,可以自己new一个Error作为错误对象。

总结一下人资项目用户登录的基本逻辑

  • 首先根据不同的开发环境设置axios的基准路径
  • 然后设置响应拦截器,解构数据、判断如果出错直接调用promise的reject返回。
    • 这里复习一下响应拦截器和请求拦截器的区别:请求拦截器是调用接口之前执行,而相应拦截器是请求之后执行。
  • 接着绑定input框的keyEnter事件和鼠标单击按钮事件,调用vuex中的user子模块中的action请求api
    • 在请求之前需要进行一个表单校验,需要表单对象调用它的validate方法,用ref在表单控件中声明,然后用this.$refs.名称.validate检验。

复习一下promise

promise用于解决回调地狱,获取异步操作的消息。
为什么会出现回调地狱?——-因为ajax这种异步函数执行出来的结果顺序是随机的,如果想要固定的顺序执行调用,就要语句嵌套一个语句,就会形成回调地狱。

image.png

promise的使用方法:

//首先实例化一个promise
var p = new Promose(function(resolve,reject){
    setTimeout(function(){
       var flag = true 
       if(flag){
           //正常情况
           resolve('执行正常')
       }else{
           //异常情况
           reject('执行异常')
       },2000)
   }
})
p.then(function(data){
    then的第一个参数返回的是resolve中的返回值
},function(info){
    then的第二个参数返回的是rekect中的返回值
})
复制代码

promise的实例api方法

  • .then 返回正常情况下的返回值
  • .catch 返回异常情况下的返回值
  • .finally 无论正常异常都会有返回值

promise的对象方法

  • Promise.all()处理多个异步任务,所有任务执行完毕才能得到结果
  • Promise.race()处理多个异步任务,只要有一个完成就能得到结果
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享