微信小程序 wx.uploadFile在安卓手機(jī)上面the same task is working問題解決
微信小程序 wx.uploadFile在安卓手機(jī)上面the same task is working問題解決
微信小程序上傳圖片的時(shí)候,如果是多圖片上傳,一般都是直接用一個(gè)循環(huán)進(jìn)行wx.uploadFile
這個(gè)在電腦上面測(cè)試與蘋果手機(jī)上面都不會(huì)有什么問題
但當(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)文章
Typescript?封裝?Axios攔截器方法實(shí)例
這篇文章主要為大家介紹了Typescript?封裝?Axios攔截器方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
jQuery幻燈片插件owlcarousel參數(shù)說明中文文檔
jQuery幻燈片插件owlcarousel是一個(gè)小巧強(qiáng)大兼容性強(qiáng)的幻燈片插件,兼容IE6以上所有瀏覽器,本文主要介紹了字的使用方法與中文參數(shù)與API說明2018-02-02
微信小程序 實(shí)現(xiàn)tabs選項(xiàng)卡效果實(shí)例代碼
這篇文章主要介紹了微信小程序 實(shí)現(xiàn)tabs選項(xiàng)卡效果實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10
一文詳解webpack中l(wèi)oader與plugin的區(qū)別
這篇文章主要為大家介紹了一文詳解webpack中l(wèi)oader與plugin的區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
JavaScript專題之underscore防抖實(shí)例學(xué)習(xí)
這篇文章主要為大家介紹了JavaScript專題之underscore防抖實(shí)例學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

