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


Posted in Javascript onDecember 14, 2016

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

微信小程序上传图片的时候,如果是多图片上传,一般都是直接用一个循环进行wx.uploadFile

这个在电脑上面测试与苹果手机上面都不会有什么问题

但当用安卓测试的时候,你会发现小程序会提示一个the same task is working

wx.uploadFile不能并行,因为wx.uploadFile是一个异步函数,所以循环的时候在安卓手机上会出现并行

解决的方法

做一个上传完的标识,然后

用递归算法进行上传

在上传成功的回调函数里面,直接递归,标识满足直接跳出,完成所有图片上传

贴上个代码段

//上传标识
var i=0
//imglist为要上传图片的路径数组
uploadImg: function () {  
  var that = this
  if (i == imglist.length) {
  //清空还原
   news = ""
   city = ""
    i=0
   wait = true
   imglist = []
   serverImg = []
   retrunList = []
   that.setData({
    loding: false,
    src: [],
    disabled: false
   })
   return;
  }
   var imgcount = imglist.length;
   wx.uploadFile({
    url: config.serverUrl('index.php/user/uploadtu'),
    filePath: imglist[i],
    name: 'file',
    formData: { 'user': 'test' },
    success: function (res) {
     serverImg.push(res.data)
     if (imgcount == serverImg.length) {
      var serverImgStr = serverImg.join("|")
      wx.request({
       url: config.serverUrl('index.php/user/baobeiadd'),
       method: 'POST',
       data: Util.json2Form({
        imglist: serverImgStr,
        userId: userId,
        news: news,
        city: city,
        latitude: latitude,
        longitude: longitude
       }),
       header: {
        'content-type': 'application/x-www-form-urlencoded'
       },
       success: function (res2) {
        if (res2.data.state == "ok") {
 
         that.setData({
          loding: false,
          butTxt: "发布",
          disabled: false
         })
          
         Util.mesUrl("发布成功!", "../index/index")
        }
        else {
         Util.mes("描述至少10人字以上哦,还有图片也要选哦!")
        }
       }
      })
     }else
     {
     //这里直接递归
     i++;
     that.uploadImg();
     }
    },
    fail: function (e) {
     console.log(e)
     Util.mes("图片上传失败,请重新发布!" + i)
    }
   })
 
 },

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
javascript实现仿银行密码输入框效果的代码
Dec 13 Javascript
jQuery.ajax 用户登录验证代码
Oct 29 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
Mar 18 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
Sep 23 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
React-Native之定时器Timer的实现代码
Oct 04 Javascript
JS通过位运算实现权限加解密
Aug 14 Javascript
微信小程序module.exports模块化操作实例浅析
Dec 20 Javascript
微信小程序实现图片上传
May 23 Javascript
vue.js实现三级菜单效果
Oct 19 Javascript
前端性能优化建议
Sep 17 Javascript
微信小程序实现拍照和相册选取图片
May 09 Javascript
bootstrap模态框实现拖拽效果
Dec 14 #Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
Dec 14 #Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
Dec 14 #Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 #Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
Dec 14 #Javascript
深入理解jquery中的each用法
Dec 14 #Javascript
Bootstrap基本模板的使用和理解1
Dec 14 #Javascript
You might like
Session的工作方式
2006/10/09 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
python mysqldb连接数据库
2009/03/16 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
Python中的取模运算方法
2018/11/10 Python
python交互界面的退出方法
2019/02/16 Python
在python中做正态性检验示例
2019/12/09 Python
tensorflow 模型权重导出实例
2020/01/24 Python
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
违反课堂纪律检讨书
2014/01/19 职场文书
Python自动化实战之接口请求的实现
2022/05/30 Python
Java获取字符串编码格式实现思路
2022/09/23 Java/Android