zoukankan      html  css  js  c++  java
  • vue axios异步请求及回调函数(前台)

    • 问题

    前台逻辑遇到以下情景

    tempList(){
    var temp;
    //1执行ajax 取得值 temp中放数据
    this.$axios.post(http://localhos:8080, params).then((res) => {
    if (res.data.retCode == '1') {
    //执行操作
    }
    else {
    //提示错误
    }
    });
    2判断 temp值 做操作
    }

    执行时会出现temp值为undefined的问题,原因是ajax为异步请求,第二部不会等待第一步完成在执行,当执行第2步时ajax请求并未完成,temp并没有被赋值造成的。

    • 解决方法
    tempList(){
    var temp;
    //1执行ajax 取得值 temp中放数据this.$axios.post(http://localhos:8080, params).then((res) => {
    if (res.data.retCode == '1') {
    //执行操作
    2判断 temp值 做操作 //重点
    }
    else {
    //提示错误
    }
    });
    }
    • 延伸

    js代码会从上到下执行,但是当遇到异步的情况,如ajax请求时,并不会等到拿到请求结果在做以后的操作,如果这是需要用到请求结果,则会出现错误,一般采用回调函数的方式解决。将需要请求数据的方法放在ajax请求的回调函数中,待请求执行完成再做操作。

     

     

  • 相关阅读:
    [树状数组]JZOJ 4658 小Z调顺序
    [差分数组]JZOJ 3187 的士
    [BFS]JZOJ 4671 World Tour
    [BFS]JZOJ 4672 Graph Coloring
    [数学]JZOJ 4673 LCS again
    shell:正则表达式和文本处理器
    开发脚本自动部署及监控
    Linux中的重启命令
    nginx和nfs
    网络相关配置
  • 原文地址:https://www.cnblogs.com/Cy66666666/p/9324350.html
Copyright © 2011-2022 走看看