首页 > 其他分享 >js等待某方法执行完毕再执行

js等待某方法执行完毕再执行

时间:2024-01-17 16:33:20浏览次数:28  
标签:const inspectionType formData typeList value js record 完毕 执行

  • 之前的样子
const onOpen = (record) => {
	selectProjectList()
	selectTypeList()
	visible.value = true
	if (record) {
		let recordData = cloneDeep(record)
		formData.value = Object.assign({}, recordData)
		formData.value.inspectionType = formData.value.inspectionType.replace(/(-?\d+)/g, '"$1"')
		formData.value.inspectionType = JSON.parse(formData.value.inspectionType)

		selectTypeListOn(formData.value.inspectionType);
	}
}

const selectTypeList = () => {
	typeList.value = [];
	tComputerInspectionTypeApi.list().then(res => {
		res.forEach(i => {
			const newI = {
				value: i.pkId,
				label: i.inspectionTypeName,
				list: i.inspectionDetail,
			};
			typeList.value.push(newI)
		})
	})
}
  • 修改后
const onOpen = async (record) => {
	selectProjectList()
	await selectTypeList()
	visible.value = true
	if (record) {
		let recordData = cloneDeep(record)
		formData.value = Object.assign({}, recordData)
		formData.value.inspectionType = formData.value.inspectionType.replace(/(-?\d+)/g, '"$1"')
		formData.value.inspectionType = JSON.parse(formData.value.inspectionType)

		selectTypeListOn(formData.value.inspectionType);
	}
}

// 逻辑外嵌套了一层, 这样就可以使用await关键字, await必须在async函数内才能使用
const selectTypeList = () => {
	return new Promise((resolve, reject) => {
        // 嵌套的逻辑
		typeList.value = [];
		tComputerInspectionTypeApi.list().then(res => {
			res.forEach(i => {
				const newI = {
					value: i.pkId,
					label: i.inspectionTypeName,
					list: i.inspectionDetail,
				};
				typeList.value.push(newI)
			})
			resolve(); // 异步操作完成后解决Promise
		}).catch(error => {
			reject(error); // 异步操作出错时拒绝Promise
		});
	})
}

标签:const,inspectionType,formData,typeList,value,js,record,完毕,执行
From: https://www.cnblogs.com/sunchenxuan/p/17970350

相关文章

  • golang 处理未确定json字符串
    json字符串转golangmap我们知道golang处理json字符串时,需要先转成struct,并且struct必须是确定的。有时候我们传递的json是不固定的,针对每种情况都写一个struct比较麻烦,有没有处理不确定json的方法呢?答案是有的 varastring="{\"a\":1,\"b\":\"xx\"}" varbmap[string]in......
  • JS2
    对象是封装了一些属性和行为的集合 对象是封装了一些变量和函数的集合 js的内置对象 1.Date 2.Math 自定义对象方式一 1.可以通过Object对象new 2.这里的Object是内置对象,所有对象的顶级对象,相当于java中的上帝类Object 此时Object()就是构造函数对象 obj/o......
  • JS1
    1.Java面向对象:使用前,创建对象,指挥对象做事情. JS:基于对象,面向过程 既有现成的对象可以直接使用,还可以自定义对象来使用 万事万物皆对象2. javajavac命令编译--->.class---->java的命令运行 编译+解析型语言 JS:解析型语言:从上向下执行,如果遇到......
  • JS3
    Dom对象 当网页被加载时,浏览器会创建页面的文档对象模型(DocumentObjectModel)。 dom元素和node(节点)的区别 dom元素指的是页面的标签,通过任意一个dom元素的关系可以找到当前页面其他任意的一个dom元素; node节点指的是页面的任意元素(页面的每个东西都是节点), 标签换......
  • mysql 语句执行顺序
    MySQL语句的大致执行顺序如下:FROM:指定要查询的表。JOIN:根据指定的条件,将两个或多个表合并为一个结果集。WHERE:对查询结果进行筛选,只保留满足指定条件的行。GROUPBY:将结果集按照指定的列进行分组。WITHROLLUP:按照GROUPBY的列对结果集进行汇总,并添加一......
  • Linux 中 Crontab 执行时的环境变量问题(allure命令不执行)
    前几天做了UI自动化脚本部署linux服务器,但是放下脚本的allure命令不执行(生成allure报告和启动allure服务的命令不执行),然后就各种找问题,一开始怀疑是allure的环境变量问题,但是发现使用allure--version可以正常显示allure的版本没问题后边尝试将环境变量加入linuxcronta......
  • 多个异步请求的执行顺序
    Fn(){ //以下两个都为异步请求 this.getData1() this.getData2()}this.Fn()我以为的执行顺序是:getData1-->getData2但其实,顺序不一定,getData1有时在前,有时在后。解决:加上async和awaitasyncFn(){ //以下两个都为异步请求 awaitthis.getData1() awaitthi......
  • 详解shell环境与函数执行
    理清楚函数在shell环境中加载场景:函数定义和执行,分开在不同的文件中,Linux自带的诸多脚本,就是基于该形式使用的1.函数写在一个文件中,只定义,不执行2.另外一个脚本,读取该函数文件,且加载该函数第一步:先生成一个脚本my_func.sh,作用只记录函数,不运行第二步:如......
  • NodeJs——error:03000086:digital envelope routines::initialization error
    前言vue2前端项目在服务器上打包报错,发现是高版本的node使用的是OpenSSL3.0,导致的不兼容,所以先临时抛出下环境变量,继续使用老板本的OpenSSL的实现;步骤解决方法exportNODE_OPTIONS=--openssl-legacy-provider具体报错信息root@iZuf6f5trc95ufa25hqb6eZ:/www/wwwroot/ad-cl......
  • ObjectMapper工具类 json字符串和 对象之间转换。和对于 ObjectMapper的一些可选设置
    ObjectMapper工具类json字符串和对象之间转换。和对于ObjectMapper的一些可选设置。添加maven依赖<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.3</version> </d......