let checkResult; if(this.formEntity.ExamType==0){ checkResult = this.checktypetask(this.formEntity.ExamType, this.formEntity.DrillOrgIDarr, this.formEntity.PostId) }else{ checkResult = this.checktypetask(this.formEntity.ExamType, this.formEntity.ByCheckOrgIDs, this.formEntity.PostId) } console.log(checkResult, 'checkResultcheckResultcheckResult1') checkResult.then((result) => { console.log(result, 'checkResultcheckResultcheckResult2'); if (!result) { console.log(result, 'checkResultcheckResultcheckResult3'); return; } // handle the result here }); createTaskList({ entity: this.formEntity, }) .then((res: any) => { this.submitLoading = false console.log(res) if (res.Result) { uni.showToast({ title: '创建成功', }) uni.navigateTo({ url: `pages/check/index?from=add`, }) } else { uni.showToast({ title: res.Description, icon: 'none', }) } }) .catch((err: any) => { this.submitLoading = false }) } else { // 校验未通过 uni.showToast({ title: '请检查填写数据', icon: 'error', }) } })但是他的ruturn不会终止,还是会继续下面的代码
时间: 2024-02-10 17:17:17 浏览: 92
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
`return` 语句只能终止当前函数的执行,而不能终止整个代码块的执行。在你提供的代码中,`return` 语句只会终止当前的函数,但是不会影响后面的代码继续执行。
如果你希望在 `checkResult` 为 `false` 的时候终止整个代码块的执行,可以使用 `throw` 抛出一个错误,然后在代码块外使用 `try/catch` 捕获这个错误,从而终止代码块的执行。例如:
```
try {
let checkResult;
if (this.formEntity.ExamType == 0) {
checkResult = await this.checktypetask(this.formEntity.ExamType, this.formEntity.DrillOrgIDarr, this.formEntity.PostId);
} else {
checkResult = await this.checktypetask(this.formEntity.ExamType, this.formEntity.ByCheckOrgIDs, this.formEntity.PostId);
}
console.log(checkResult, 'checkResultcheckResultcheckResult');
if (!checkResult) {
console.log(checkResult, 'checkResultcheckResultcheckResult');
throw new Error('checkResult is false');
}
// handle the result here
} catch (error) {
console.log(error);
// do something to handle the error
}
```
在上面的代码中,如果 `checkResult` 为 `false`,则会抛出一个错误,然后在 `try/catch` 中捕获这个错误,从而终止代码块的执行。你可以在 `catch` 中添加代码来处理这个错误。
阅读全文