promise async await

义务需求:在输入字典名称后,查询验证是否存在这个字典,输入字典名称获取相应的字典Id,一起传个后台;
代码出现的问题:在完成输入字典表单保存时,无法获取字典名称的字典值;
//输入字典名称验证
var checkDictName = (rule, value, callback) => {
if (!value) {
return callback(new Error(“请输入字典名称”));
} else {
this.dictName = value;
this.getDicts()//调用验证是否存在该字典的方法
callback()
}
};
//获取字典,map页面需要的结构,并验证是否存在输入的字典
getDicts() {
let _this = this;
return new Promise(function(resolve, reject){
getDictByName(_this.dictName).then(res => {
if (res.data.data.length > 0) {
//处理获取的数据和下拉框需要的数据对接
let arr = res.data.data;
arr.map(item => {
_this.dictOptions.push({ value: item.id, label: item.name });
});
console.log(_this.dictOptions);
} else {
_this.$message({
type: “warning”,
message: “没有此关联字典”
});
_this.form.dictName = ‘’;
}
resolve();
});
});
},
//保存时获取不到字典名称字段值,利用async await
async submit() {
if (this.formStatus == “add”) {
//通过字典Id获取字段名
await this.getDicts();
//利用输入字典名称获取相应的字典Id,
let dictid = this.selectByKey(
“label”,
this.form.dictName,//不用await时,字典名一直为undefined
this.dictOptions
).value;

    console.log(dictid)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值