js 匿名函数 中无法正常进行 异常捕获

错误的写法

我尝试在匿名函数处直接进行异常捕获但是异常无法被正常抛出

 $('#fuc1').click(function () {  直接写了 try{}catch{}  });

然后异常并没有被捕获,
我也不知道是我的写法错误,还是 匿名函数中,不支持太复杂的操作
因为函数中还使用了 promise 对象

正确的写法

调用处,写法

 // 两张图像合成
 $('#fuc1').click(function () { twoimgchange() });

 //图像镜像变换
 $('#fuc2').click(function(){ oneimgchange("Mirror",$('#img1'))});

函数定义

function twoimgchange() {
try{
         var p1 = getImageFileFromUrl($('#img1')[0].src, "img1.jpg")
      p1.then((file1) => {
          var p2 = getImageFileFromUrl($('#img2')[0].src, "img2.jpg")
          p2.then((file2) => {
              var formdata = new FormData();
              var blobimg1 = file1
              var blobimg2 = file2
              formdata.append('img1', blobimg1)
              formdata.append('img2', blobimg2)
              $.ajax({
                  cache: false,
                  type: 'POST',
                  // 根据表单id 生成数据
                  data: formdata,
                  url: "/dealimg/addtwoimg/",
                  traditional: true, //为必须内容   
                  //dataType:'json',  //data为json时必须
                  processData: false, //为必须内容
                  contentType: false, //为必须内容
                  success: function (data) {
                      {# data=JSON.parse(data);#}
                      {# console.log(typeof(data))#}
                      {#beforedivimg($('#dropBox'),"处理结果",data.resultimgurl)#}
                      var imgsrc = "data:image/jpeg;base64," + data;
                      beforedivimg($('#dropBox'), "处理结果", imgsrc)
                  },
                  beforeSend: function (xhr, settings) {
                      xhr.setRequestHeader("X-CSRFToken", '{{ csrf_token }}');
                  }
              });
          }).then(() => {})}).then(() => {})
  }catch (e) {
      alert("图片数量不足");
  }
}
发布了101 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43373608/article/details/105380761