vue请求按顺序执行的示例详解

 更新时间:2023年12月04日 11:21:00   作者:丿BAIKAL巛  
我们有时候会碰到这种情况,需要连续发送两个请求,第二个请求需要用第一个请求的某个返回值作为参数来作为第二个请求的请求参数,这篇文章主要介绍了vue请求如何按顺序执行,需要的朋友可以参考下

我们有时候会碰到这种情况,需要连续发送两个请求,第二个请求需要用第一个请求的某个返回值作为参数来作为第二个请求的请求参数。
但是存在一个问题:两个请求都是异步的,他并不按照我们期望的先后顺序来执行。
这时候就需要控制请求的执行顺序,这里我提供一种方法来实现请求的顺序控制,我认为这个方法写起来是最简单最容易理解的。(当然其他方法有很多,还有async和await关键字等)

书写格式:
首先是正常发送第一次请求,然后在第一次请求的回调函数then中,写一句return 来发送第二次请求。
再.then,这里的返回结果就是第二次请求的结果。

这样我们就实现了两个请求的顺序执行。

      first().then(response1 => {
        //第一次请求
        this.form = response1.data;
        console.log("第一次请求")
        //发送第二次请求
        return second(this.form.Code);
      }).then(response2 => {
      	console.log("第二次请求")
        //处理第二次请求返回结果
        this.queryParams=response2.data
      })

实际使用示例:

      getLastDataByUnifiedNumber(this.form.unifiedNumber).then(response1 => {
        //第一次请求查询采样表数据
        this.form = response1.data;
        this.form.address = this.form.provinceName + this.form.cityName + this.form.countyName;
        this.queryParams=this.form;
        return getListBySamplingCode(this.form.samplingCode);
      }).then(response2 => {
        //第二次请求查询测试结果数据
        this.form2 = response2.rows[0];
        if(this.form2){
          this.queryParams.alkaliHydrolyzedNitrogenFirst=this.form2.alkaliHydrolyzedNitrogenFirst;
          this.queryParams.availablePhosphorusFirst=this.form2.availablePhosphorusFirst;
          this.queryParams.availableKFirst=this.form2.availableKFirst;
          this.queryParams.organicMatterFirst=this.form2.organicMatterFirst;
        }
      })

到此这篇关于vue请求如何按顺序执行的文章就介绍到这了,更多相关vue请求按顺序执行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue-Jest 自动化测试基础配置详解

    Vue-Jest 自动化测试基础配置详解

    目前开发大型应用,测试是一个非常重要的环节,而在 Vue 项目中做单元测试可以用 Jest,本文主要介绍了Vue-Jest 自动化测试,感兴趣的可以了解一下
    2021-07-07
  • vue webpack打包原理解析(全网最新最全)

    vue webpack打包原理解析(全网最新最全)

    webpack是让我们可以进行模块化开发,并且会帮助我们处理模块间的依赖关系,这篇文章主要介绍了vue webpack打包原理,本篇介绍的有点长,希望大家耐心阅读
    2023-02-02
  • 完美解决vue 项目开发越久 node_modules包越大的问题

    完美解决vue 项目开发越久 node_modules包越大的问题

    这篇文章主要介绍了vue 项目开发越久 node_modules包越大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Vue使用mockjs问题(返回数据、get、post 请求)

    Vue使用mockjs问题(返回数据、get、post 请求)

    这篇文章主要介绍了Vue使用mockjs问题(返回数据、get、post 请求),具有很好的参考价值,希望对大家有所帮助。
    2023-05-05
  • Vue计算属性的学习笔记

    Vue计算属性的学习笔记

    这篇文章主要为大家详细介绍了Vue计算属性的学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • vue使用echarts实现水平柱形图实例

    vue使用echarts实现水平柱形图实例

    这篇文章主要介绍了vue使用echarts实现水平柱形图实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Vue中transition标签的基本使用教程

    Vue中transition标签的基本使用教程

    Vue提供了transition的封装组件,可以给任何元素和组件添加进入/离开过渡,下面这篇文章主要给大家介绍了关于Vue中transition标签基本使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Vue中直接操作数组索引不奏效的问题解读

    Vue中直接操作数组索引不奏效的问题解读

    这篇文章主要介绍了Vue中直接操作数组索引不奏效的问题解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue elementUI select下拉框如何设置默认值

    vue elementUI select下拉框如何设置默认值

    这篇文章主要介绍了vue elementUI select下拉框如何设置默认值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue样式叠层z-index不起作用的解决方案

    vue样式叠层z-index不起作用的解决方案

    这篇文章主要介绍了vue样式叠层z-index不起作用的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04

最新评论