哥伦布

await进行同步操作

async/await-摘要:

有时候我们需要同步的写法,即下一步的结果依赖于上一步的请求返回结果,当然我们可以把下一步的写法,放入请求的then回调中, 但这是不直观的,这里我只简单记录下:

1.比如我们有一个获取默认Id的接口,首次加载调用。

复制代码
//默认季度
Get_GDPT() {
     return new Promise((resolve) => {
        this.$api.Sreen.Get_GDPT().then((res) => {
          resolve(res);
      });
   });
},
 
 
mounted() {
    this.mounted_data(this.rtvRptModel, true);
    // 五分钟刷新一次
    const reloadTimer = setInterval(() => {
        this.mounted_data(this.rtvRptModel, false);
    }, 300000);
    this.$once('hook:beforeDestroy', () => {
        clearInterval(reloadTimer);
    });
},
 
复制代码

2.全局数据调用的方法,bool为false时默认季度ID不变,刷新/查询都方便。

复制代码
mounted_data(params, bool) {
  //bool 表示 首次加载需要调取默认季度接口拿:PurmeetingId
  (async (params) => {
    if (bool) {
         let dataID = await this.Get_GDPT();
         this.rtvRptModel.PurmeetingId = dataID;
    }
     await this.Get_RCAL(params);
     await this.Get_RTPSNBL(params);
     await this.Get_RTPSNSL(params);
   })(params);
},
复制代码

刷新、查询:

复制代码
//刷新
refresh() {
    this.mounted_data(this.rtvRptModel, false);
},

// 子通父-默认展示查询
defaultpar(data) {
    this.rtvRptModel.Sort = data;
    this.mounted_data(this.rtvRptModel, false);
},

// 子通父 查询form
popform(data) {
    const dataPar = data;
    dataPar.Sort = this.rtvRptModel.Sort;
    this.rtvRptModel = dataPar;
    this.mounted_data(this.rtvRptModel, false);
},
复制代码

 

posted @   南柯Dream丶  阅读(717)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示