蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 48|回复: 0

微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决

[复制链接]

1923

主题

1

好友

1591

积分

管理员

Rank: 64Rank: 64Rank: 64Rank: 64

  • TA的每日心情
    奋斗
    2016-1-22 16:23
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    荣誉管理 论坛元老 热心会员 活跃会员 最佳新人 灌水之王

    发表于 6 天前 |显示全部楼层
    微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
    微信小程序 wxuploadFile在安卓手机上面the same task is working问题解决
    微信小程序上传图片的时候,如果是多图片上传,一般都是直接用一个循环进行wxuploadFile
    这个在电脑上面测试与苹果手机上面都不会有什么问题
    但当用安卓测试的时候,你会发现小程序会提示一个the same task is working
    wxuploadFile不能并行,因为wxuploadFile是一个异步函数,所以循环的时候在安卓手机上会出现并行
    解决的方法
    做一个上传完的标识,然后
    用递归算法进行上传
    在上传成功的回调函数里面,直接递归,标识满足直接跳出,完成所有图片上传
    贴上个代码段


    //上传标识
    var i=0
    //imglist为要上传图片的路径数组
    uploadImg: function () {  
      var that = this
      if (i == imglistlength) {
      //清空还原
       news = ""
       city = ""
        i=0
       wait = true
       imglist = []
       serverImg = []
       retrunList = []
       thatsetData({
        loding: false,
        src: [],
        disabled: false
       })
       return;
      }
       var imgcount = imglistlength;
       wxuploadFile({
        url: configserverUrl('indexphp/user/uploadtu'),
        filePath: imglist[i],
        name: 'file',
        formData: { 'user': 'test' },
        success: function (res) {
         serverImgpush(resdata)
         if (imgcount == serverImglength) {
          var serverImgStr = serverImgjoin("|")
          wxrequest({
           url: configserverUrl('indexphp/user/baobeiadd'),
           method: 'POST',
           data: Utiljson2Form({
            imglist: serverImgStr,
            userId: userId,
            news: news,
            city: city,
            latitude: latitude,
            longitude: longitude
           }),
           header: {
            'content-type': 'application/x--form-urlencoded'
           },
           success: function (res2) {
            if (res2datastate == "ok") {

             thatsetData({
              loding: false,
              butTxt: "发布",
              disabled: false
             })
             
             UtilmesUrl("发布成功!", "/index/index")
            }
            else {
             Utilmes("描述至少10人字以上哦,还有图片也要选哦!")
            }
           }
          })
         }else
         {
         //这里直接递归
         i++;
         thatuploadImg();
         }
        },
        fail: function (e) {
         consolelog(e)
         Utilmes("图片上传失败,请重新发布!" + i)
        }
       })

    },



    感谢阅读,希望能帮助到大家,大家对本站的!
    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    蚂蚁站长论坛推荐上一条 /1 下一条

    QQ|Archiver|手机版|广告服务|蚂蚁站长-站长之家 ( 黔ICP备16008478号-1  

    GMT+8, 2017-10-19 07:39

    Powered by 站长论坛

    © 2007-2013 Jzant.com Inc.

    回顶部