位置: IT常识 - 正文

vue 方法按照顺序执行(vue方法顺序执行)

编辑:rootadmin
vue 方法按照顺序执行

推荐整理分享vue 方法按照顺序执行(vue方法顺序执行),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue调整数组顺序,vue的排序,vue sort排序,vue如何控制组件按顺序输出,vue按顺序执行方法,vue按顺序执行方法,vue的排序,vue如何控制组件按顺序输出,内容如对您有帮助,希望把文章链接给更多的朋友!

在调用后台方法的时候,由于调用了多个方法,但是执行的时候并没有按照顺序执行,前端需要后台返回的数据,对数据进行页面展示,由于没有按照顺序执行,导致前台页面报错。解决办法采用new Promise单独执行每个方法,并返回resolve。以下是实现方法:

方式一:

    // 获取标签和绘制曲线数据

    mainMethod() {

      // 执行方法1

      this.method1().then((val) => {

        // 方法2

        this.method2().then((val) => {

          // 方法3

          this.method3().then((val) => {

            //  等待方法1、2、3 执行完成后执行方法“lastMethod”

            this.lastMethod();

          });

        });

      });

    },

    // 方法1

   method1() {

      return new Promise((resolve, reject) => {

        // 调用后端接口getMethod1

        getMethod1("CT01").then((response) => {

          this.detail_method1 = response.data;

          resolve( this.detail_method);

        });

      });

    },

    //  方法2

    method2() {

      return new Promise((resolve, reject) => {

vue 方法按照顺序执行(vue方法顺序执行)

        // 调用后端接口getMethod2

        getMethod2("CT02").then((response) => {

          this.detail_method2= response.data;

          resolve(this.detail_method2);

        });

      });

    },

    // 方法3

    method3() {

      return new Promise((resolve, reject) => {

       // 调用后端接口getMethod3

        getMethod3( "CT03").then((response) => {

          this.detail_method3 = response.data;

          resolve(this.detail_method3);

        });

      });

    },

 lastMethod() {

// 需要执行的方法内容

}

方式二:vue一个页面很多接口时,异步请求的优化 1.使用 Promise.all()

Promise.all() 方法接收一个promise的iterable类型(注:Array,Map,Set都属于ES6的iterable类型)的输入,并且只返回一个Promise实例, 那个输入的所有promise的resolve回调的结果是一个数组。这个Promise的resolve回调执行是在所有输入的promise的resolve回调都结束,或者输入的iterable里没有promise了的时候。它的reject回调执行是,只要任何一个输入的promise的reject回调执行或者输入不合法的promise就会立即抛出错误,并且reject的是第一个抛出的错误信息

     let p1 = new Promise((resolve, reject) => {           getNumber()           resolve('成功了p1')         })

        let p2 = new Promise((resolve, reject) => {           getName()           resolve('成功了p2')         })     let p3 = new Promise((resolve, reject) => {       setTimeout(resolve, 100, 'foo');     });

        Promise.all([p1, p2, p3]).then((result) => {           console.log(result) // ['成功了p1', '成功了p2', 'foo']         }).catch((error) => {         })

Promise.all 在任意一个传入的 promise 失败时返回失败。例如,如果你传入的 promise中,有四个 promise 在一定的时间之后调用成功函数,有一个立即调用失败函数,那么 Promise.all 将立即变为失败。

var p1 = new Promise((resolve, reject) => {   setTimeout(resolve, 1000, 'one'); }); var p2 = new Promise((resolve, reject) => {   setTimeout(resolve, 2000, 'two'); }); var p3 = new Promise((resolve, reject) => {   reject('reject'); });

Promise.all([p1, p2, p3]).then(values => {   console.log(values); }).catch(reason => {   console.log(reason) });

2.Promise.race(iterable) 方法返回一个 promise,一旦迭代器中的某个promise解决或拒绝,返回的 promise就会解决或拒绝。

var p1 = new Promise(function(resolve, reject) {             setTimeout(resolve, 500, "one");         });         var p2 = new Promise(function(resolve, reject) {             setTimeout(resolve, 100, "two");         });

        Promise.race([p1, p2]).then(function(value) {           console.log(value); // "two"           // 两个都完成,但 p2 更快         });

3.Promise.all()与Promise.race()请求时的区别

Promise.all() 适合于后面的异步请求接口依赖前面的接口请求的数据时使用。 Promise.race() 没有先后顺序,那个先请求回来那个先显示

参考链接:

https://www.csdn.net/tags/MtTaEgzsNjAwMzY5LWJsb2cO0O0O.htmlhttps://www.csdn.net/tags/MtTaEgzsNjAwMzY5LWJsb2cO0O0O.html

本文链接地址:https://www.jiuchutong.com/zhishi/288919.html 转载请保留说明!

上一篇:最薄的MP3是什么(mp3格式最高音质)

下一篇:普利特维采湖群国家公园中的高架步道,克罗地亚 (© Alessandro Laporta/Offset by Shutterstock)(普利特维采湖群国家公园天气)

  • 网络正常抖音无法连接的原因是什么(网络正常抖音无法连接)

    网络正常抖音无法连接的原因是什么(网络正常抖音无法连接)

  • 苹果手机能发微信不能上网(苹果手机能发微信不能打电话)

    苹果手机能发微信不能上网(苹果手机能发微信不能打电话)

  • 4g流量突然变得很卡(4g流量突然变成3g了)

    4g流量突然变得很卡(4g流量突然变成3g了)

  • 苹果手机进水了充不进去电了怎么办(苹果手机进水了一直自动重启怎么办)

    苹果手机进水了充不进去电了怎么办(苹果手机进水了一直自动重启怎么办)

  • 苹果11下载东西一直获取不了怎么办(iphone 11 下载)

    苹果11下载东西一直获取不了怎么办(iphone 11 下载)

  • ppt中怎么设置内容一个一个出现(ppt怎么设置内容文本框边距)

    ppt中怎么设置内容一个一个出现(ppt怎么设置内容文本框边距)

  • 小米bn39什么型号(小米bm31是什么手机)

    小米bn39什么型号(小米bm31是什么手机)

  • 京东国际自营的都是正品吗(京东国际自营的戴森能买吗)

    京东国际自营的都是正品吗(京东国际自营的戴森能买吗)

  • 辅存储器可分为哪两类(存储器可分为( )和辅助存储器两大类)

    辅存储器可分为哪两类(存储器可分为( )和辅助存储器两大类)

  • vivo手机照片删除找回(vivo手机照片删除后怎样彻底删除)

    vivo手机照片删除找回(vivo手机照片删除后怎样彻底删除)

  • 苹果手机双4g啥意思(ios双4g)

    苹果手机双4g啥意思(ios双4g)

  • 大麦网可以买三张票么(大麦网可以买三张演唱会票吗)

    大麦网可以买三张票么(大麦网可以买三张演唱会票吗)

  • 苹果手机怎么清空短信(苹果手机怎么清楚软件里的缓存)

    苹果手机怎么清空短信(苹果手机怎么清楚软件里的缓存)

  • xr通讯录不显示联系人(苹果xr电话不显示联系人)

    xr通讯录不显示联系人(苹果xr电话不显示联系人)

  • 唯品会登录名怎么查(唯品会登录名怎么写)

    唯品会登录名怎么查(唯品会登录名怎么写)

  • 华为p30重量多少克(华为p30有多重)

    华为p30重量多少克(华为p30有多重)

  • appstore如何解除禁用(appstore如何解除200mb限制)

    appstore如何解除禁用(appstore如何解除200mb限制)

  • opporeno怎么读语音(oppo手机新品reno怎么读语音)

    opporeno怎么读语音(oppo手机新品reno怎么读语音)

  • 如何下载爱奇艺app(如何下载爱奇艺国际版)

    如何下载爱奇艺app(如何下载爱奇艺国际版)

  • Win10专业版误删注册表开不了机怎么办?(win10误删系统软件怎么还原)

    Win10专业版误删注册表开不了机怎么办?(win10误删系统软件怎么还原)

  • 阿拉普扎的船屋,印度喀拉拉邦 (© Martin Harvey/The Image Bank/Getty Images)(阿普拉萨)

    阿拉普扎的船屋,印度喀拉拉邦 (© Martin Harvey/The Image Bank/Getty Images)(阿普拉萨)

  • python shell怎样在Windows打开?(python 3.4.3 shell)

    python shell怎样在Windows打开?(python 3.4.3 shell)

  • 企业名称税号
  • 关税税收优惠记忆口诀
  • 电信要收取安装费吗
  • 国有资本及权益客观增减因素
  • 事业单位无形资产管理制度
  • 客户减免费用邮件怎么写
  • 其他应收款账户期初借方余额为35400
  • 机动车销售发票可以跨年抵扣吗
  • 增值税普通发票需要交税吗
  • 公司老板个人卡收款 出纳有责任吗
  • 长期股权投资的减值准备的会计处理
  • 企业发生的现金折扣应计入
  • 买房报销
  • 以股权转让名义转让土地使用权
  • 加油款可以开专用发票吗
  • 实收资本印花税税率多少
  • 建房子的公司
  • 附加税记入什么科目
  • 教育费附加减免性质代码
  • 注册资本转让税率
  • 房地产企业资金监管账户
  • 虚开增值税简单例子
  • 短期投资损失
  • linux怎么挂起
  • 无法手动设置时区
  • 研发费用加计扣除的条件
  • 金蝶系统怎么修改库存数量
  • 选择简易征收
  • php随机ua
  • php5.4+mysql
  • php实验二
  • 事业单位接受捐赠固定资产入账
  • 公司收到补偿款是利好还是利空
  • php23种设计模式
  • 印克斯湖国家公园中的德克萨斯矢车菊,德克萨斯州 (© Inge Johnsson/Alamy)
  • ajax的使用场景
  • framework教程
  • php 位运算符
  • thinkphp3.2框架
  • vue3中使用for循环引用多个组件
  • 低代码框架开发
  • php面向对象优点,缺点
  • java单点登录token
  • 编程前十名
  • Vue(ref和$refs属性介绍与使用)
  • react usereducer
  • 已认证发票被作废
  • 资产处置损益会计科目
  • 个体工商户核算方式填什么
  • 收据盖发票专用章会被处罚吗
  • 一般纳税人月销售额10万以下城建税
  • 装修费用应该计入什么科目
  • 滴滴电子普通发票能抵扣进项税吗
  • 股东变更实收资本变更吗
  • 外聘专家费用标准
  • 利息支出应计入什么科目
  • 非房产企业出售土地,能否计算抵减地价款
  • 水利建设基金一直没缴纳
  • 为员工买的商业保险怎么做账
  • macbookpro 安装
  • linux wk
  • win8无法连接到internet
  • win10怎么取消u盘密码保护
  • centos7 ethtool
  • window10快捷键不能用
  • ubuntu安装chrom
  • win7 win8.1
  • Win10系统怎么添加字体
  • win10升级安装视频
  • three. js
  • jquery validate.js表单验证入门实例(附源码)
  • gpu缩放在哪里打开
  • Python 操作MySQL详解及实例
  • js移动到指定位置
  • jquery怎么修改样式
  • jquery mobile 图片滑动
  • adb命令ls
  • 湘医保缴费怎么网上缴费
  • 昆山国税局上班时间
  • 广州市公安局分局待遇
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设