Promise.all( ) 的使用
Posted pengfei25
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise.all( ) 的使用相关的知识,希望对你有一定的参考价值。
多个函数等待执行
//初始化权限列表 initPermission() { return new Promise((resolve, reject) => { this.$ajax.get(this.permissionUrl[1], { type: 9 }).then(res => { if (res.code == 200) { console.log(212) this.permissionData = this.$_c.listToTree(res.data, { idKey: ‘id‘, parentKey: ‘parent‘ }); resolve(0)//这里一定要加上,否则then和catch都不会执行 } }) }) }, //初始化操作类型 initTypeId() { return new Promise((resolve, reject) => { this.$ajax.get(this.permissionUrl[2]).then(res => { if (res.code == 200) { //1.selfCheckbox的版本 // this.typeData = { // field: ‘typeId‘, // isShow: true, // isInline: true, // children: res.data // } //2.tree的版本 this.newtypeData = this.$_c.listToTree(res.data, { idKey: ‘id‘, parentKey: ‘parentCode‘ }) console.log(this.form.typeId) resolve(0) // this.$refs.devTypeTree.setCheckedKeys(this.form.typeId)//设置选中 } }) }) },
调用
mounted() { this.initRoleList()//初始化下拉角色列表 Promise.all([ this.initPermission(),//初始化权限树 this.initTypeId()//初始化设备类型树 ]).then(res => { console.log(res) this.initCheck()//初始化默认选中 }).catch(function(){ console.log(0) }) }
注意事项
1.函数里面一定要加上 resolve(0),否则promise.all方法的then和catch都不会执行
以上是关于Promise.all( ) 的使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用并区分Promise.all和Promise.race?
(转载)理解和使用Promise.all和Promise.race
如何返回 Promise.all 获取 api json 数据?