微信小程序 wx.uploadFile在安卓手機(jī)上面the same task is working問(wèn)題解決
微信小程序 wx.uploadFile在安卓手機(jī)上面the same task is working問(wèn)題解決
微信小程序上傳圖片的時(shí)候,如果是多圖片上傳,一般都是直接用一個(gè)循環(huán)進(jìn)行wx.uploadFile
這個(gè)在電腦上面測(cè)試與蘋(píng)果手機(jī)上面都不會(huì)有什么問(wèn)題
但當(dāng)用安卓測(cè)試的時(shí)候,你會(huì)發(fā)現(xiàn)小程序會(huì)提示一個(gè)the same task is working
wx.uploadFile不能并行,因?yàn)閣x.uploadFile是一個(gè)異步函數(shù),所以循環(huán)的時(shí)候在安卓手機(jī)上會(huì)出現(xiàn)并行
解決的方法
做一個(gè)上傳完的標(biāo)識(shí),然后
用遞歸算法進(jìn)行上傳
在上傳成功的回調(diào)函數(shù)里面,直接遞歸,標(biāo)識(shí)滿足直接跳出,完成所有圖片上傳
貼上個(gè)代碼段
//上傳標(biāo)識(shí) var i=0 //imglist為要上傳圖片的路徑數(shù)組 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: "發(fā)布", disabled: false }) Util.mesUrl("發(fā)布成功!", "../index/index") } else { Util.mes("描述至少10人字以上哦,還有圖片也要選哦!") } } }) }else { //這里直接遞歸 i++; that.uploadImg(); } }, fail: function (e) { console.log(e) Util.mes("圖片上傳失敗,請(qǐng)重新發(fā)布!" + i) } }) },
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Flutter刷新組件RefreshIndicator自定義樣式demo
這篇文章主要介紹了Flutter刷新組件RefreshIndicator自定義樣式demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02javascript實(shí)現(xiàn)超炫的向上滑行菜單實(shí)例
這篇文章主要介紹了javascript實(shí)現(xiàn)超炫的向上滑行菜單實(shí)現(xiàn)方法,以一個(gè)完整實(shí)例形式分析了javascript針對(duì)頁(yè)面元素的遍歷與樣式操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08ECharts框架Sunburst拖拽功能實(shí)現(xiàn)方案詳解
這篇文章主要為大家介紹了ECharts框架Sunburst拖拽功能實(shí)現(xiàn)方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12JavaScript+HTML實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要介紹了JavaScript實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)js的小伙伴們有一定的幫助,需要的朋友可以參考下2021-04-04四十九個(gè)javascript小知識(shí)實(shí)用技巧
這篇文章主要給大家分享得是四十九個(gè)javascript小知識(shí)實(shí)用技巧像下面文章圍繞JavaScript得各種技巧詳細(xì)介紹,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-11-11js 實(shí)現(xiàn)驗(yàn)證碼輸入框示例詳解
這篇文章主要為大家介紹了js 實(shí)現(xiàn)驗(yàn)證碼輸入框示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09微信小程序 wxapp內(nèi)容組件 progress詳細(xì)介紹
這篇文章主要介紹了微信小程序 wxapp內(nèi)容組件 progress詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10