微信小程序 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 XML实现两级级联下拉列表
Nov 10 Javascript
JS 字符串连接[性能比较]
May 10 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
Oct 31 Javascript
javascript实现Table排序的方法
May 15 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 Javascript
Vue.js数据绑定之data属性
Jul 07 Javascript
基于DOM节点删除之empty和remove的区别(详解)
Sep 11 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
Jan 10 Javascript
微信小程序动态添加view组件的实例代码
May 23 Javascript
javascript执行上下文、变量对象实例分析
Apr 25 Javascript
JavaScript继承的三种方法实例
May 12 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
php上传文件并显示上传进度的方法
2015/03/24 PHP
php编写简单的文章发布程序
2015/06/18 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
php实现的生成排列算法示例
2019/07/25 PHP
js 加载并解析XML字符串的代码
2009/12/13 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
Flask框架配置与调试操作示例
2018/07/23 Python
详解django中使用定时任务的方法
2018/09/27 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
Python turtle画图库&&画姓名实例
2020/01/19 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
十八大报告观后感
2014/01/28 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
八项规定整改方案
2014/10/01 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
大学生实习证明
2015/06/16 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers