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请求的回调函数中,待请求执行完成再做操作。

     

     

  • 相关阅读:
    01.Markdown学习
    微信小程序开发基础
    如何在本地搭建微信小程序服务器
    Golang | 报错
    Golang | 扩展
    Golang | 基础
    Golang | 基础
    Golang | 基础
    Chrome——书签同步码云
    Rustlings_structs
  • 原文地址:https://www.cnblogs.com/Cy66666666/p/9324350.html
Copyright © 2011-2022 走看看