欢乐树 发表于 2024-8-7 11:08:19

关于提交验证的问题


var code = this.data.code;
if (code != '') {
_that = this
var action = this.Actions.load("x_xxxxxx");
var o = action.DormitoryAction.getXXXXX(//平台封装好的方法
      code,//uri的参数
      function( json ){ //服务调用成功的回调函数, json为服务传回的数据
         data = json.data; //为变量data赋值
         if (data.xxx && data.sss) {
             _that.s = true
             hanshu()
         } else {
             _that.s = false
             hanshu()
         }
      }.bind(this),
   function( json ){ //服务调用失败的回调函数, json为服务传回的数据
      data = json.data; //为变量data赋值
   }.bind(this)
    );
}
function hanshu() {
console.log('chufa')
console.log(_that)
}
if (_that.s) {
    return true
} else {
    this.form.alert("wran", "错误", "您的导师或班主任不存在,无法发起流程,请联系管理员添加或线下办理", 300, 100);
    return false
}
我在流程的提交验证里加了方法获取判断true还是false,但是调取action的这个方法赋值永远是在if (_that.s)后面,我写在action调取成功的地方是可以赋值,可以写函数,但是不能效验true和false,
我必须拿到外面来判断才能效验,但是外面执行永远比这个方法快,这个怎么办啊。。。怎么把方法里面值拿出来并且我效验要不这个异步方法执行慢,我.then()也不行,说什么严格模式不能取值?


论坛管理员 发表于 2024-8-8 16:52:22

接口可以设置成同步,在调用接口的 失败回调后面跟上一个参数,false   
这样就可以把接口设置成同步调用

欢乐树 发表于 2024-8-8 16:56:46

论坛管理员 发表于 2024-8-8 16:52
接口可以设置成同步,在调用接口的 失败回调后面跟上一个参数,false   
这样就可以把接口设置成同步调用 ...

哦哦~这样啊谢谢
页: [1]
查看完整版本: 关于提交验证的问题