async pdfConfirm(docId) {
// debugger;
let data = { docId: docId, isPost: 1 };
// changeStatus 状态为4调确认接口
if (this.newFileParam.changeStatus == 5) {
// 新文件确认
await newFileConfirm({ modifyNo: this.newFileParam.modifyNo })
.then(res => {
if (res.code == '999999') {
this.dialogVisible = false;
this.reflashGoods();
return;
}
})
.catch(error => {
console.log(error.message);
this.dialogVisible = false;
this.reflashGoods();
return;
});
}
// 旧文件确认
modifityPdfNote(data)
.then(res => {
// console.log(res.data);
console.log('1111');
this.dialogVisible = false;
this.reflashGoods();
})
.catch(() => {
this.dialogVisible = false;
this.reflashGoods();
});
},
为什么return没用
我改成这样是可以的
// 旧文件确认
oldFilesConfirm(data) {
// 旧文件确认
modifityPdfNote(data)
.then(res => {
// console.log(res.data);
console.log('1111');
this.dialogVisible = false;
this.reflashGoods();
})
.catch(() => {
this.dialogVisible = false;
this.reflashGoods();
});
},
// pdf 确认窗口
async pdfConfirm(docId) {
// debugger;
let data = { docId: docId, isPost: 1 };
// changeStatus 状态为4调确认接口
if (this.newFileParam.changeStatus == 5) {
// 新文件确认
newFileConfirm({ modifyNo: this.newFileParam.modifyNo })
.then(res => {
if (res.code == '000000') {
this.oldFilesConfirm(data);
} else {
this.dialogVisible = false;
this.reflashGoods();
}
})
.catch(error => {
console.log(error.message);
this.dialogVisible = false;
this.reflashGoods();
});
} else {
this.oldFilesConfirm(data);
}
},
在异步函数内使用 return
当然没有效果啊……
看了一下你的两个 return
的位置,所以直接使用 if……else
不就好了吗。
async pdfConfirm(docId) {
...
if (this.newFileParam.changeStatus == 5) {
// 新文件确认
await newFileConfirm({ modifyNo: this.newFileParam.modifyNo })
.then(res => {
if (res.code == '999999') {
this.dialogVisible = false;
this.reflashGoods();
- return;
}
})
.catch(error => {
console.log(error.message);
this.dialogVisible = false;
this.reflashGoods();
- return;
});
- }
+ } else {
// 旧文件确认
modifityPdfNote(data)
.then(res => {
...
+ }
}
更新:
既然你本来调用就是链式的,所以直接把新/旧文件确认拿到外部作为单独的函数就好了,也就不需要使用 async/await
了,因为你其实也不需要去等待。
大概改了一下业务逻辑,你自己还可以优化一下:
methods:{
pdfConfirm(docId) {
let data = { docId: docId, isPost: 1 };
// changeStatus 状态为4调确认接口
if (this.newFileParam.changeStatus == 5) {
this.newFileConfirm({ modifyNo: this.newFileParam.modifyNo }).then(() => this.modifityPdfNote(data))
} else {
this.modifityPdfNote(data)
}
},
// 新文件确认
newFileConfirm(data){
return new Promise((resolve, reject) => {
newFileConfirm(data)
.then(res => {
if (res.code == '999999') {
resolve()
} else {
reject()
}
})
.catch(error => {
reject()
})
.finally(() => {
this.dialogVisible = false;
this.reflashGoods();
})
})
},
// 旧文件确认
modifityPdfNote(data){
modifityPdfNote(data)
.then(res => {
// console.log(res.data);
console.log('1111');
})
.catch(() => {
})
.finally(() => {
this.dialogVisible = false;
this.reflashGoods();
})
},
}
return
是跳出当前函数,上一级函数会继续执行。
要连续退出,你需要返回一个特殊的值,在外层函数里判断,然后继续 return
。
我正在试一试微型机器人。我注意到的一件事是Micronaut不会失败。 例如,如果我的豆子里有这样的东西 如果没有用键my.url定义的属性,则 null 我认为failfast会更好(就像springboot那样)。所以想知道这在微型机器人中是否也是可能的。
我们有一个带有infinispan(v 9.4.18)失效缓存的双活动/活动节点Wildfly 19集群配置。 根据infinispan留档,当node1上的缓存值发生变化时,InvalidateCommand从节点1发送到node2,使node2缓存中的键条目无效/删除。 我注意到的是,即使在一个新的键put上,InvalidateCommand也会被发送。 在我们的应用程序中,如果在缓存中找不
我尝试运行这个gradle任务(通过gradlew) 它使用cucmber jvm 并收到此错误 当我从cmd中的同一路径运行同一行时: 更新1: 这个cmd在shell控制台中工作: ./构建/发行版/WebLarge测试/bin/WebLargeTests-f html:构建/报告/cucumber/-f json:构建/报告/cucumber/report.json--胶水com.waze.
和 textarea 上的问题类似,原因在 Android 真机上,无法动态在 video 设置 data-,即: <video data-cid="{{cid}}" bindplay="onPlay"></video> 当 play 事件触发时,无法从事件对象上取得 dataCid 的值,从而无法根据上面的信息找到对于的事件处理方法。 解决方法 框架必须依赖于原生标签上 data- 的属性找到
SSHException:协商失败。 是不是我错过了什么地方? 我最初假设问题是围绕hostkeys发生的,但是我得到了相同的结果,或者传递一个hostkeys文件,或者将hostkeys设置为None(使用pysftp) 这似乎发生在连接的早期,就好像我使用随机的用户名或密码,我得到的结果完全一样 调试信息如下: 如果我(成功)通过连接并启用了日志记录,我将获得以下日志:
在使用IDEA Ultimate创建/克隆Spring项目时,我总是得到PKIX路径验证失败:Java . security . cert . certpathvalidatorexception:有效性检查失败 这是完整的错误消息 我似乎找不到与此问题相关的答案,那里有很多PKIX路径验证失败,但我似乎找不到我的问题的解决方案。