在vue中循环中调用接口-promise.all();按顺序执行异步处理_vue 循环调用接口_储储随记的博客-程序员秘密

技术标签: vue  javascript  

  1. 在vue中循环调用接口-promise.all()
methods: {
    
  handleAdd (arr) {
    
     this.loading = true
     const allApi = []
     arr.forEach((item, index) => {
    
       const data = {
    
         id: item.id,
         name: item.name
       }
       const oneApi = api.add(data).then(res => {
    
         if (res.error_code === 0) {
    
           this.$message.success(res.msg)
         } else {
    
           this.$message.error(res.msg)
         }
       })
       allApi.push(oneApi)
     })
     Promise.all(allApi).then(() => {
    
       this.loading = false
     })
   }
}
  1. 有异步处理数据时,按顺序执行函数
methods: {
    
	handleAdd (val) {
    
        this.addTag(val).then(() => {
    
          this.tags.push(this.newTag)
          this.editNote()
        })
    },
	addTag (val) {
    
      const data = {
    
        tag: val
      }
      return add(data).then(res => {
    
        this.newTag = {
    
          id: res.data.id,
          name: res.data.name
        }
      })
    },
    editNote () {
    
      const data = {
    
        tags: this.tags,
      }
      update(data).then((res) => {
    
        if (res.error_code === 0) {
    
          this.$message.success('修改成功!')
         }
      })
    }
}

使用return返回第一个异步处理的结果;使用then,继续执行第二个异步处理(当第一次返回结果为ture时)。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46251434/article/details/114324020

智能推荐

svg标签和svg文件区别_什么是SVG文件? SVG图片和标签说明_cumi7754的博客-程序员秘密

svg标签和svg文件区别 SVG (SVG)SVG or Scalable Vector Graphics is a web standard for defining vector-based graphics in web pages. Based on XML the SVG standard provides markup to describe paths, shapes, and ...

猜数字游戏--基于python_bieguolaia的博客-程序员秘密

"""题目:练习使用python写一个猜数字的游戏,数字范围0-100,每次猜错,需要给出缩小后的范围,每个人只有10次的猜测机会,猜测机会用完游戏结束!"""#方法一:(增加了输入异常的处理,输入非法不计入输入次数中)# coding:utf-8import randomfrom time import sleepprint("欢迎您来玩猜数字游戏\n" "游戏规则如下:\n"

AD分辨率和精度区别_lhh_qrsly的博客-程序员秘密

ADC制造商在数据手册中定义ADC性能的方式令人困惑,并且可能会在应用开发中导致错误的推断。最大的困惑也许就是“分辨率”和“精确度”了——即Resolution和Accuracy,这是两个不同的参数,却经常被混用,但事实上,分辨率并不能代表精确度,反之亦然。本文提出并解释了ADC“分辨率”和“精确度”,它们与动态范围、噪声层的关系,以及在诸如计量等应用中的含义。动态范围被定义为系统可测量到的最小和最大信号的比例。最大信号可为峰间值,零到峰(Zero-to-Peak)值或均方根(RMS)满量程。其中任何一

html怎样设置图片的圆角矩形,怎么把矩形变成圆角 ps怎么在原来的矩形中改成圆角..._柯尼塞格dbd的博客-程序员秘密

CAD怎么把矩形的一个角变成圆角我想把CAD中绘制的矩形,其中一个或者两个角变成圆角,该如何操作,要详打开CAD软件,任意画一个四边形。输入“f”倒圆角快捷方式选择半径r,即输入r,然后回车。并输入半径值20,回车。出现“选择第一个对象或”。选择一个相邻的二边,然后回车。ps怎么剪裁成圆角圆角矩形在原有的图层上,画一个圆角矩形,选择工具栏里的“圆角矩形工具”;画好圆角矩形,圆角矩形大小按照你需要的...

vue runtime-only 和 runtime+compiler 的区别_Bigfishseasugar的博客-程序员秘密

在用 vue-cli2 (vue init webpack project)创建vue项目的时候,终端会询问你是用 runtime-only 和 runtime+compiler 中哪一种方式搭建。那么这两种方式到底有什么区别呢?我们来简单看一下。它们代码方面的区别主要在于,src目录下的 main.js 文件的不同。下图对两种方式搭建的项目中 main.js 文件代码进行比较:可以看到 runtime-compiler 是比较基本的一种写法,步骤也很清晰:在vue组件里面注册一个名为A.

在cocos2d-x中实践数据驱动的游戏开发_geniicheng222的博客-程序员秘密

from: http://elvisco.de/2013/09/entity-component-system/  在cocos2d-x中实践数据驱动的游戏开发2013/09/29(本文已发表在《程序员》杂志2013年10月刊,转载需经《程序员》杂志许可)在2002年的GDC大会上,Scott Bilas做了一个题目叫做《A Data-Driven Game Object...

随便推点

搭建kylin连接tableau环境_一只小妙妙的博客-程序员秘密

搭建kylin连接开源平台Tableau环境需求背景公司所在项目,需基于kylin数据仓库,搭建大数据可视化平台,用于大量数据的统计和分析。了解到Tableau是开源大数据分析平台之一,于是想要将kylin连接到Tableau平台。步骤一:下载安装Microsoft Visual C++ 201264位Windows或64位Tableau Desktop:Visual C++ps:我也不知道为啥要下这个,看的别大佬的帖子,I’m a tool~步骤二:下载安装Kylin ODBC驱动去到kyl

高考志愿填报与职业趋势分析-大数据分析报告_Ricky的技术小站的博客-程序员秘密

    1977年中国高考制度恢复,重新开启了人才成长之门。40多年来,高考累积录取人数增长了27倍, 2.28亿人报名,9900万名高素质人才先后通过了中国高等教育的培养,高考已成为推动中国经济社会巨变的关键动力。  高考的重要性无须赘述,然而高考终究是一场考试,志愿填报才是人生真正的转折点。随着2019中国高考的落幕,对于十二年寒窗苦读的莘莘学子来说,高考志愿填报不仅仅是一张...

socket编程 ------ BSD socket API_Aven的笔记的博客-程序员秘密

伯克利套接字(Berkeley sockets),也称为BSD Socket。伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信。 BSD Socket的应用编程接口已经是网络套接字的抽象标准。大多数其他程序语言使用一种相似的编程接口。它最初是由加州伯克利大学为Unix系统开发出来的。所有现代的操作系统都实现了伯克利套接字接口,因为它已经是连接互联网的标准...

输入一个字符串,内有数字和非数字字符,例如: A123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123存放在a[0],456放在a[1]中_jiajie_bear的博客-程序员秘密

#include <iostream>#include <string>using namespace std;int main(){ string str; int k = 0,flag = 0; int a[50] = { 0 };//a[]存放整数 cout << "please input a string:"; getline(c...

中专计算机应用w7基础知识点,计算机应用基础WIn7操作题_昌维的博客-程序员秘密

题目11.更改菜单大小为20。2.设置在桌面上显示“计算机”。参考:1. 右击桌面→单击“个性化”→单击窗口下侧“窗口颜色”→单击“高级外观设计”打开“窗口颜色和外观”对话框→在项目栏单击“菜单”→大小设为20→单击“确定”。2.返回个性化窗口→单击左侧“更改桌面图标”→勾选“计算机”,“确定”。题目21.将“Internet Explorer”图标锁定到任务栏。2.将“ResTool.exe”程...

Gradient Descent梯度下降算法代码实现_ZN_daydayup的博客-程序员秘密

目录摘要梯度下降法原理使用二次函数简单实现和验证梯度下降画出梯度下降的过程学习率对梯度下降快慢的影响在线性回归模型中使用梯度下降法Conclusion(总结)摘要使用代码实现和验证梯度下降算法梯度下降法原理梯度下降,gradient descent(之后将简称GD),是一种通过迭代找最优的方式一步步找到损失函数最小值的算法,基本算法思路可总结为如下几点:(1) 随机设置一个初始值(2) 计算损失函数的梯度(3) 设置步长,步长的长短将会决定梯度下降的速