当前位置: > 手游资讯 > 新手问答 > 工作新得一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了

工作新得一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了

作者:哪吒游戏网 来源:哪吒游戏网 2020-06-29 18:18:18

工作新得一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了,哪吒游戏网给大家带来详细的工作新得一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了介绍,大家可以阅读一下,希望这篇工作新得一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了可以给你带来参考价值。

工作新得1:一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了,工作中这个容易被别人抓到把柄(记忆中是两次被别人揪出来了,很没面子。)获得密码坐标失败,以为你是个低级程序员

错误写法:虽然程序是顺序执行的。但由于由于加密是异步的,所以第二次加密和ajax请求可以视为同时执行的。基于这种情况,利用ajax访问add_paypassword接口,导致访问该接口传的参数有可能为第一次加密的密码,也有可能为第二次加密的密码。

/**
设置支付密码
 */
function setPayPwd(paySurePassword){
  signature.md5({
      data: paySurePassword
  }, function(ret, err) {
      if (ret.status) {
      console.log("原始一次加密为" + JSON.stringify(ret));
      console.log("一次加密为" + JSON.stringify(ret.value) + "小写为" + ret.value.toLowerCase());
          signature.md5({
              data: "09ES27Ookep2RXA" + ret.value.toLowerCase()
          }, function(ret1, err1) {
              if (ret1.status) {
                    console.log("二次加密为" + JSON.stringify(ret1.value)  + "小写为" +           ret1.value.toLowerCase());
                    secret =  ret1.value.toLowerCase();
                  
      } else {
          alert(JSON.stringify(err));
      }
  });
     /**
      设置支付密码ajax请求,存储到数据库中
     */
      var param = {
                      values: {
                          pay_pass: secret,
                      }
                  };
                  apiAjax("user/add_paypassword", "post", param, function() {}, function(ret) {
                      console.log(JSON.stringify(ret));
                      if(ret.code == 1){// 处理成功的逻辑
                          var user = $api.getStorage('user_info');
                          user.pay_pass = 1234;
                          //重新保存用户信息
                          $api.setStorage('user_info', user);
                      }else{// 处理失败的逻辑
                      }
                      api.toast({
                          msg: ret.msg,
                          duration: 2000,
                          location: 'middle'
                      });
                       api.closeWin();
                  });
            } else {
                alert(JSON.stringify(err1));
            }
        });
      }
}

/**
设置支付密码
 */
function setPayPwd(paySurePassword){
console.log("paySurePassword为" + paySurePassword);
  signature.md5({
      data: paySurePassword
  }, function(ret, err) {
      if (ret.status) {
      console.log("原始一次加密为" + JSON.stringify(ret));
      console.log("一次加密为" + JSON.stringify(ret.value) + "小写为" + ret.value.toLowerCase());
          signature.md5({
              data: "09ES27Ookep2RXA" + ret.value.toLowerCase()
          }, function(ret1, err1) {
              if (ret1.status) {
                  // return ret.value;
                    console.log("二次加密为" + JSON.stringify(ret1.value)  + "小写为" + ret1.value.toLowerCase());
                    secret =  ret1.value.toLowerCase();
                    var param = {
                        values: {
                            pay_pass: secret,
                        }
                    };
                    apiAjax("user/add_paypassword", "post", param, function() {}, function(ret) {
                        console.log(JSON.stringify(ret));
                        if(ret.code == 1){// 处理成功的逻辑
                            // $api.setStorage('payPassword',secret);
                            var user = $api.getStorage('user_info')
                            user.pay_pass = 1234;
                            //重新保存用户信息
                            $api.setStorage('user_info', user);
                        }else{// 处理失败的逻辑
                        }
                        api.toast({
                            msg: ret.msg,
                            duration: 2000,
                            location: 'middle'
                        });
                         api.closeWin();
                    });
              } else {
                  alert(JSON.stringify(err1));
              }
          });
      } else {
          // alert(JSON.stringify(err));
          return JSON.stringify(err);
      }
  });

    var geocoder = new AMap.Geocoder({city: '全国'});
   geocoder.getAddress(currentLngLat, function(status, result) {// 逆向地理编码,获取当前用户坐标 对应的地址信息
     if (status === 'complete' && result.info === 'OK') {
         // result为对应的地理位置详细信息
        latLngAddress = result.regeocode.addressComponent.city;
        console.log("latLngAddress为" + latLngAddress);
     }
   });
   geocoder.getAddress(latLng, function(status, result) {// 逆向地理编码,获取公司后台返回的坐标 对应的地址信息
     if (status === 'complete' && result.info === 'OK') {
         // result为对应的地理位置详细信息
        currentLatLngAddress = result.regeocode.addressComponent.city;
          console.log("currentLatLngAddress" + currentLatLngAddress);
        if(latLngAddress == currentLatLngAddress){// 同一个市
            // 显示公交路线规划、汽车路线规划、陆行路线规划
        }else{
            // 隐藏公交路线规划、陆行路线规划
            $(".busClass").attr("style","display:none");
            $(".walkClass").attr("style","display:none");
        }
     }
   });

var geocoder = new AMap.Geocoder({city: '全国'});
   geocoder.getAddress(currentLngLat, function(status, result) {// 逆向地理编码,获取当前用户坐标 对应的地址信息
     if (status === 'complete' && result.info === 'OK') {
         // result为对应的地理位置详细信息
        latLngAddress = result.regeocode.addressComponent.city;
        geocoder.getAddress(latLng, function(status, result) {// 逆向地理编码,获取公司后台返回的坐标 对应的地址信息
          if (status === 'complete' && result.info === 'OK') {
              // result为对应的地理位置详细信息
             currentLatLngAddress = result.regeocode.addressComponent.city;
             if(latLngAddress == currentLatLngAddress){// 同一个市
                 // 显示公交路线规划、汽车路线规划、陆行路线规划
             }else{
                 // 隐藏公交路线规划、陆行路线规划
                 $(".busClass").attr("style","display:none");
                 $(".walkClass").attr("style","display:none");
             }
          }
        });
     }
   });

总结:以上内容就是针对工作新得一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了详细阐释,如果您觉得有更好的建议可以提供给哪吒游戏网小编,工作新得一定要在回调的成功或者失败里面写逻辑,已经遇到好几次了部分内容转载自互联网,有帮助可以收藏一下。



上一篇: 《古剑奇谭》三周年庆典 暨二代新闻发布会

下一篇:

本文标签:
猜你喜欢