wx.xx is not a function

函数调了两次,第二次没加参数

var remoteUrls = []
function uploadimg(data, finish) {
  var that = this,
  i = data.i ? data.i : 0,//当前上传的哪张图片
  success = data.success ? data.success : 0,//上传成功的个数
  fail = data.fail ? data.fail : 0;//上传失败的个数
  var cookie = this.getCookie()
  if(i == 0){
    remoteUrls=[]
  }
  wx.uploadFile({
    url: data.url,
    filePath: data.path[i],
    name: 'contentimg',//这里根据自己的实际情况改
    formData: {
      id: JSON.stringify(data.artId)
    },//这里是上传图片时一起上传的数据
    header: {
      cookie: cookie
    },
    success: (resp) => {
      success++;//图片上传成功,图片上传成功的变量+1
      console.log(resp)
      console.log(i);
      //这里可能有BUG,失败也会执行这里,所以这里应该是后台返回过来的状态码为成功时,这里的success才+1

      var data = resp.data;
      var dataObj = JSON.parse(data)
      var url = dataObj.data.url;
      remoteUrls.push(url)
      console.log("push:zz:"+remoteUrls, typeof remoteUrls)
    },
    fail: (res) => {
      fail++;//图片上传失败,图片上传失败的变量+1
      console.log('fail:' + i + "fail:" + fail);
    },
    complete: function(){
      console.log(i);
      i++;//这个图片执行完上传后,开始上传下一张            
      if (i == data.path.length) {   //当图片传完时,停止调用          
        console.log('执行完毕');
        console.log('成功:' + success + " 失败:" + fail);
        var jsonArr = JSON.stringify(remoteUrls)
         console.log("参数:" + jsonArr, typeof jsonArr)
        console.log("要传的参数:"+remoteUrls)
        console.log(remoteUrls,typeof remoteUrls);
        finish(remoteUrls);
      } else {//若图片还没有传完,则继续调用函数                
        console.log(i);
        data.i = i;
        data.success = success;
        data.fail = fail;
        that.uploadimg(data,finish);// 漏了Finish参数
      }
    },

  });
}

 

posted on 2019-08-13 20:08  土匪7  阅读(1558)  评论(0编辑  收藏  举报